如何在OS-X上同时运行两个不同版本的Java?

问题描述 投票:3回答:3

我不确定是将它放在超级用户还是Stack Overflow上,但我选择了这里,因为它涉及有关Gosu programming language的软件开发。

Gosu编程语言需要Java 8,不接受Java 11或更高版本的JDK / JRE(不确定哪一个是相关的)。这是一个问题,因为我有Java 11,开发团队已经让这个问题长期存在。它是在bug跟踪器上,很长一段时间没有人对它做过任何事情。

我需要建立一个使用Java 8和Java 11的开发环境,在J​​ava 8环境中安装Gosu,然后弄清楚如何修改Gosu的源代码,使其与Java 11兼容。是否有人的指导谁做了类似的开发和项目分叉?

macos java-8 development-environment java-11 gosu
3个回答
3
投票

关于Gosu和Java 11,Gosu的最新版本1.15.0专门支持Java 11。


2
投票

我会下载docker并为每个jdk环境设置单独的docker容器。然后在适当的一个中添加gosu语言项目所具有的任何其他依赖项。 docker容器将使依赖关系集分开,并防止它们相互干扰。


2
投票

这可以分为3个问题

  1. 安装多个JDK版本
  2. 为您自己的开发默认每个项目
  3. 在OSX上运行时选择特定版本

对于主要是本地开发,你可能想要一个类似的流

使用brew安装多个JDK版本

$ brew cask install caskroom/versions/java11
$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

$ ls /Library/Java/JavaVirtualMachines/
adoptopenjdk-12-openj9.jdk graalvm-ce-1.0.0-rc14      jdk1.8.0_65.jdk            openjdk-11.0.2.jdk

选择之间用jEnv进行开发(与bash配合使用)https://www.jenv.be/

对于脚本,如果在OSX中运行,请使用java_home

$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/graalvm-ce-1.0.0-rc14/Contents/Home
© www.soinside.com 2019 - 2024. All rights reserved.