2013-09-30 104 views
6

我想在Linux服务器上运行我的.jar文件。无法识别的选项: - 无法创建Java虚拟机

这些命令进出口运行

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设置路径后,我得到了同样的问题。任何人都可以提出建议对此很困惑。

感谢您的任何帮助。

+0

您是否使用同一个用户?你在同一个目录下工作吗? – fedorqui

+0

没有使用nohup它工作吗?也许有其他一些错误,如磁盘空间/权限等 –

+0

不,它不。我在正确的目录中。我实际上正在做同样的事情,我正在做星期五,它正在工作。 它必须是与Java或Java的东西 - v会wokr righT? – Programatt

回答

4

通常情况下,当我们得到这样的异常(“无法识别的选项”,这导致“无法创建Java虚拟机”),在JVM显示无法识别的选项,如:

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

的事实上你没有任何细节使得你的命令看起来好像你只有一个空格(“”)。

再次看看确认。

+0

不知道这是答案。 – manuell

+4

这是一个答案。不一定是正确的,但它绝对是一个答案。 –

+1

真棒电话,是的,这是一个答案 – Amir

1

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

(参考:。http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html ... Java 6的版本......“因为这是你使用的是什么尝试java -help对选项的简短列表)

所以预计为java -v失败。

作为一个实验我想这(与OpenJDK的Java的JDK 8在Fedora 22):

$ 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 ...并确保您保持最新状态。