18

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

这些是我正在运行的命令:

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

3 回答 3

20

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

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

您没有详细信息的事实使您看起来好像您的命令中只有一个空格(“”)。

再看一遍以确保。

于 2014-01-14T10:50:55.000 回答
5

我在 Win10 上运行 maven 时遇到了这个故障,其中 pom.xml 位于一个名为C:\dir\OneDrive - bar\workspace\project.

将项目移动到不同的文件夹解决了它。

于 2018-12-05T11:41:38.133 回答
3

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

(参考: http ://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html ... Java 6 版本 ...'因为这就是您正在使用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 命令路径上的任何命令。

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

于 2015-09-12T04:40:05.827 回答