Java requirement for Max 4 Live

Didier's icon

Noob question. I searched the forum but couldn't find an exact answer.

Why is a Java runtime required to run Max 4 Live on Mac?

I consider Java a huge security risk and would rather not install it unless I don't have another choice for using M4L.

Thanks.

Johnny Christ's icon

If you prevent the installer from putting shovelware on your machine, disable the browser plugins and disable auto-update (for Java) - there's no web-facing attack surface to worry about.

Non-issue.

Didier's icon

Thanks Johnny. I would do that anyway if I have no choice but to install it but it's still a huge piece of bloatware.

So back to my question, what does M4L use in a Java runtime? Is it written in Java?

Andrew Pask's icon

MFL, aka Max, has support for externals written in Java via the mxj and mxj~ objects.

Java is not used for anything critical in the running of MFL. It is not used in MFL at all unless a device contains a Java external. So you may be fine without it.

Cheers

-Andrew

Johnny Christ's icon

Yep, it's not required for the base install on Windows at all - I was sceptical about the case on OS X but unable to comment with any certainty.

Thanks Andrew.

Didier's icon

Thanks Andrew and Johnny.

It seems like at least on OS X it makes this a requirement because a M4L plugin window won't even open unless Java is installed. Instead a text asks you to install Java for M4L to run.

If it's really only used for external stuff then it would be great to make this optional on OS X too.

dreamkit's icon

Hi Johnny Christ in your initial reply you talk of preventing the installer putting shovelware on your machine and disabling browser plugins, can you tell me how to go about this? and is there a recommended version of java to install? 6?

thanks in advance

Running Live 9 on OS X 10.9

Jan M's icon

Hi dreamkit,

on OS X you don't need to worry about crap ware as oracle java is not supported anyhow. you'll need install from here: http://support.apple.com/kb/DL1572?viewlocale=en_US

Jan

Didier's icon

@Jan Unfortunately that's not true anymore. Apple has stopped maintaining its updates to Java 6 so the only up to date (and secure) versions are now Java 7 from Oracle.

I'm still curious to get an answer from Cycling74 as to what the dependency on Java is. Does Max code run on a JVM?

Jan M's icon

@didier:
You are right concerning the Apple maintenance of Java. Still if you want or need to use Java within Max (Mac) you will have to install that package. Oracle Java is currently not supported by Max. It's already on their todo list, i had some conversation with them about that issue. Oracle Java will not be recognized by Max.
This wasn't obvious before Mavericks as Apple Java was per-installed. So on older Systems you might have installed new Oracle Java JREs and still Max would have used the Apple JRE.

Concerning the security issues: Media reports have been very undifferentiated about Java and securities issues. Java is quite a universe of it's own containing numerous editions of the JDK (Java Development Kits, JRE Java Runtime Environments, GUI-frameworks and so on) and the issues do not concern all parts of the Java world. They were all related to the Java-browser plugin and they only take effect on websites that use Java inside the browser. Java used for a standalone application on a computer isn't under a special threat. So you can install the the Java 6 (1.6) package from Apple, disable the browser-plugin and you are safe :)

Independently from that: After Java has been moved from Sun to Oracle they finally have been listening to the community and removed all third party crap-ware from the installer. If you get the Java packages from Oracle's website directly they are clean since at least a year (or maybe even longer). But still Max can't use them...

Hope that clarifies things a bit
Jan

Didier's icon

@Jan You are correct. My response made it seem like Max could work with Oracle's Java. Thank you for clarifying this.

Do you know why the dependency is there in the first place? If Max depends on Java for external objects, shouldn't it only fail to load patches with such objects? As it stands, it looks like it fails to load anything without Java installed, even when the patch doesn't require it.

Jan M's icon

Hi Didier,
I don't know why The Java dependency still exists. If I remember right there was a time where Jitter depended on Java and I have a dark memory that this dependency was removed only recently in Max 6.1.6 or 6.1.5 or something like that. As I am using Java quite regularly in my Max projects I re-installed it right away after upgrading to Mavericks so I didn't kept track on how that developed. I guess you should write directly to support for that question ...

J