如何运行特定Java版本的应用程序?我有三个Java版本:
myuser@mysystem:~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 auto mode
* 1 /opt/jdk-9.0.4/bin/java 1 manual mode
2 /opt/jdk1.8.0_162/bin/java 1 manual mode
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
我将Java 9设置为默认值,我希望保持这种方式。尽管如此,名为pdfsam
的应用程序似乎不能在Java 9中正常工作。使用openjdk运行它需要什么命令(选项3)?
2条答案
按热度按时间wd2eg0qa1#
可以使用安装的绝对路径运行
java
这将是您的默认
/usr/bin/java
安装若要更改它,请使用绝对路径
如果您没有直接运行
java
命令,请尝试设置JAVA_HOME变量:wb1gzix02#
因为我需要一个特定版本的Java用于特定的应用程序(“Jitsi桌面”不再支持,并与JDK 8一起工作)。获得此特定版本的唯一方法是下载它,解压缩并使应用程序使用它。在我的例子中,JAVA_HOME环境变量不起作用,因为JDK没有真正安装在系统中。
所以我找到了这个简单的方法:安装所需的JDK版本并执行特定的应用程序,指定使用哪个版本的JDK,并临时修改PATH环境变量。
在我的例子中(用户必须有权限读取和执行JDK):
注意:在冒号之前修改JDK bin目录的路径
所以PATH只在执行jitsi时修改。在执行期间或执行之后的其他地方,PATH保持不变。
由于
update-alternatives --config java
在全局范围内改变了JDK,我认为这个解决方案使安装在同一系统、开发人员等上的许多不同版本的JDK的用例更加舒适。基于这个主题和我的直觉。