默认情况下,我的机器上有java 1.8.0_131,但也有java9,所以我可以用jdk-9运行编译后的类吗?有没有可能是这样的:
java -v path/to/jdk-9 myClass 谢谢
发布于 2018-11-23 17:39:50
java命令实际调用的是JVM。JVM启动,读取您的类,并运行您告诉它运行的任何东西。
没有的方法来告诉“启动”的JVM实际使用不同的JVM。java不是某种“稍后”调用某些二进制文件的包装器。它已经是启动JVM的二进制文件。
换句话说:你所要求的是不可能的。一种简单的解决方法是在命令行上定义“别名”,比如使用java-8启动java8安装,使用java-9指向其他安装。
发布于 2018-11-23 18:07:43
默认情况下,java命令调用已安装的java版本,可以通过以下命令进行检查:
一种方法是更新java:
sudo update-alternatives --config java. 上述命令的O/P:
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 auto mode
* 1 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: 在您的例子中,java9也会出现。更新java版本并运行java命令。
或者你可以直接调用你的java9脚本,你可以找到${Java9安装目录}/jre/bin/java -v类。
PS:上面的命令描述是基于ubuntu的。
https://stackoverflow.com/questions/53443840
复制相似问题