Java port maintainers: What should be installed on the buildbot workers?

Ryan Schmidt ryandesign at macports.org
Tue Feb 27 04:53:09 UTC 2018


On Feb 26, 2018, at 02:04, Aaron Madlon-Kay wrote:

>> Do you think there is any value to installing Apple Java 6 first, then installing Oracle Java 8, so that both JDKs are there? I'm just thinking of ancient ports that might be hardcoded to look for the old version that used to be bundled with macOS.
> 
> The order of installation doesn't really matter, but I think we might as well install Java 6, 7, AND 8, as any given project may require any to build. (And if we're going that far, we should have 9 as well but make 8 the default as below.)
> 
> To clarify my previous suggestions, I think the java portgroup should have a required_java_version property (default=1.8) that would be used to set JAVA_HOME via /usr/libexec/java_home -f -v ${required_java_version} and fail the operation if unavailable.

Thanks, you've cleared up another misconception I had. I had read that Java 7 installations were being automatically upgraded to Java 8, so I thought there was no point to trying to install Java 7.

http://www.oracle.com/technetwork/java/javase/downloads/autoupdatejre7tojre8-2389085.html

Upon rereading that, I see now that it's talking about JRE, not JDK. So I guess that means we *can* install multiple JDKs as you said.

I guess I still don't understand what JRE or JVM are. You mentioned /Library/Java/JavaVirtualMachines, which looks like it contains folders with names like jdk1.8.0_144.jdk. So does this mean that a JDK is a JVM? Or that a JDK includes a JVM?

You said:

> any properly packaged program will come with its own JRE

Does this include Java-using ports in MacPorts? If so, how is this accomplished? Is the JRE built as part of the port building process, or is copied from somewhere? (from inside the JDK?) Or distributed in each port's source tarball?

You mentioned /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. I assumed based on its name and path that it was only used for Java content loaded by a web page into a web browser. Or is this plugin also involved somehow in any part of the MacPorts Java experience?



More information about the macports-dev mailing list