无法识别的选项: - 无法创建Java虚拟机

时间:2013-09-30 08:34:17

标签: java linux jvm

我正在尝试在linux服务器上运行我的.jar文件。

这些是我正在运行的命令

JAVA_HOME=/app/local/opt/jdk/packages/jdk1.6.0_30/ 
export PATH=$JAVA_HOME/bin:$PATH 

cd folder
nohup java -jar program.jar &

周五跑步时,这种方式非常有效。但是,今天我得到了

  Unrecognised option: - Could not create the Java virtual machine.

在我的nohup.out中

如果我在设置路径后运行java -v,我会遇到同样的问题。谁能提出任何建议?真的很困惑。

感谢您提供任何帮助。

4 个答案:

答案 0 :(得分:7)

通常,当我们遇到这种异常(“无法识别的选项”导致“无法创建Java虚拟机”)时,JVM会显示无法识别的选项,如下所示:

Unrecognised option: -[option details] Could not create the Java virtual machine.

你没有任何细节的事实让你觉得你的命令中只有一个空格(“”)。

再看看确认。

答案 1 :(得分:1)

首先,-v命令上没有java选项。

(参考:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html ... Java 6版本...' cos就是您正在使用的。请尝试java -help获取选项的简短列表。)

因此java -v预计会失败。

作为一个实验我试过这个(在Fedora 22上使用OpenJDK Java 8 JDK):

$ java -foop
Unrecognized option: -foop
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
$ 

正如您所看到的,"无法识别的选项"消息告诉我它不明白的选项。看一下你问题中的信息,我们发现它是" - "。这似乎与您问题中的命令行不匹配,但另一方面,您问题中的命令行没有任何无效选项。

我想,另一种可能性是你有一个名为java的shell别名。这将优先于shell命令路径上的任何命令。

另一件事是您正在运行古老版本的Java。 Java 6已经过了寿命终止,最后一个公开发布的版本是更新45.您正在运行2011年12月发布的更新30.从那时起,已经有很多安全补丁。我建议升级到Java 8 ...并确保让它保持最新。

答案 2 :(得分:0)

我在Win10上运行maven时遇到了这种故障,其中pom.xml位于名为C:\dir\OneDrive - bar\workspace\project之类的文件夹中。

将项目移动到其他文件夹即可解决该问题。

答案 3 :(得分:0)

我在 8GB RAM 的 Raspberry Pi 4 上的 Ubuntu Mate 20.10 上使用 openjdk-8 运行 Netbeans 8.2 时收到相同的消息。这看起来像是一个向后兼容性问题,因为我以前从未发生过。