适用于Java的"类似RVM"工具

Ste*_*ert 6 java ant continuous-integration build maven

我正在寻找一种工具,可以让我切换正在运行的Java实现,比如Ruby的RVM(或RBENV).我知道Debian系统提供了替代机制,我可以手动设置JAVA_HOME.

但是,如果可能的话,我想要更自动化的东西.如果它可以获取更好的JDK,但不是必需的.

我搜索过但没有看到类似的东西.我猜Java生态系统习惯于在IDE中使用此功能.

编辑:更改PATH和JAVA_HOME似乎工作正常.它可以简单地自动化.

Dan*_*ood 5

有 jenv 基于 Ruby 的 RVM。

\n\n

您必须执行一些手动步骤来添加新的 Java 版本\xe2\x80\xa0,但一旦添加,您就可以使用jenv use java $version. 它还处理针对特定 Java 版本安装 Java 应用程序。

\n\n

还有另一个我没有使用过的工具,令人困惑的是它也被命名为jenv,但它基于 Ruby 的 rbenv。

\n\n

\xe2\x80\xa0 添加 Java 版本的麻烦似乎是由于 Oracle,可能是许可问题,并且似乎适用于这两种工具。

\n


mag*_*omi 2

我认为没有这样的工具。每个平台都有自己的系统。Debian/Ubuntu、RedHat/CentOS 和 SLE/OpenSUSE(可能还有其他一些发行版)使用替代机制。Mac OSX 有自己的内置切换机制来更改当前使用的 JVM。

我必须维护很多开发人员工作站和服务器。所有基于 *nix(OSX、Linux、Solaris)并用于在目录中安装所有 JVM,并创建指向应使用的版本的当前符号链接。指向此当前符号链接的 JAVA_HOME 和 PATH 变量。如果我想使用另一个版本,只需移动当前的符号链接。无需采取进一步行动。

不幸的是,这种方法不适用于基于 Windows 的系统。

  • 使用哪个JDK只是和环境变量有关。也许为不同平台编写脚本来更改变量可能是一种方法。对于*nix,脚本可以简单地接受jdk版本的参数,并自动删除旧的符号链接并创建新的符号链接;对于Windows,也许批处理文件可以修改JAVA_HOME等变量,只要它不被UAC阻止...... (2认同)