问题:
对于在许多不同平台上工作并需要在不同版本的Java,Android NDK,OpenGL等上进行回归testing的开发人员,经常遇到的问题是试图安装JRE和JDK的多个版本。
通常在linux(archlinux)中手动部署/提取许多版本的NDK,JDK,JRE和J2EE环境。 但是,自动化安装软件包在安装SDK和JRE方式/位置方面不是标准化的,在安装过程中经常会报告碰撞。
题:
笔记:
archlinux-java只支持openjdk和java-8-oracle,但不支持以前版本的oracle java,(6或7),( https://wiki.archlinux.org/index.php/java#Switching_between_JVM )
希望这个代理/填充所有不同的java版本的“一个工具”将在更新中更新。
通过手动安装不同的Java版本,给定这将打破更新,但这是点 – testing不同的,旧的和未更新的版本。
在这种情况下,机器上有2到6个左右的部署。
最后发生的事情是/ opt被使用(有时),和usr / lib / jvm,甚至其他文件夹也被其他安装引入。
所有部署最好在“opt”或者甚至“lib”下的一个树中,以便更改脚本/variables。
谢谢你的想法!
软件包java-common还提供了一个可以显示和更改默认Java环境的实用程序脚本archlinux-java 。
此脚本将链接java-default-runtime
为指向安装在/var/lib/jvm/java-${JAVA_MAJOR_VERSION}-${VENDOR_NAME}
中的有效的非冲突Java环境。 它还为Java环境集提供的所有可执行文件创建并更新/usr/bin
链接。
Helper脚本archlinux-java
提供了这样的功能:
archlinux-java <COMMAND> 命令: 状态列出已安装的Java环境并启用了一个 get返回默认设置的Java环境的短名称 将<JAVA_ENV>强制为<JAVA_ENV>作为默认值 取消设置取消当前的默认Java环境 修复修复无效/损坏的默认Java环境配置
% archlinux-java status
例:
%archlinux -java状态 可用的Java环境: java-7-openjdk(默认) 的java -8-的openjdk / JRE
注意(默认)表示java-7-openjdk
当前被设置为默认值。 java
和其他二进制文件的调用将依赖于这个Java安装。 另外请注意,前面的输出中只有OpenJDK 8的JRE部分安装在这里。
% archlinux-java set <JAVA_ENV_NAME>
例:
% archlinux-java set java-8-openjdk/jre
请注意, archlinux-java
不会让您设置无效的Java环境。 在前面的示例中,安装了jdk8-openjdk is **not** so trying to set
但jdk8-openjdk is **not** so trying to set
java-8-openjdk将失败:
%archlinux-java set java-8-openjdk '/ usr / lib / jvm / java-8-openjdk'不是有效的Java环境路径