如何在特定的Java版本上运行应用程序?

Soc*_*tes 2 java linux ubuntu

如何运行具有特定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
Run Code Online (Sandbox Code Playgroud)

我将Java 9设置为默认值,我希望保持这种状态。不过,名为的应用程序pdfsam似乎无法在Java 9上正常工作。使用openjdk(选项3)运行该命令需要什么命令?

Tom*_*mVW 6

您可以java使用安装的绝对路径运行

这是您的默认/usr/bin/java安装

java -version
Run Code Online (Sandbox Code Playgroud)

要更改它,请使用绝对路径

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -version
Run Code Online (Sandbox Code Playgroud)

如果您没有java直接运行命令,请尝试设置JAVA_HOME变量:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/" pdfsam
Run Code Online (Sandbox Code Playgroud)