web-dev-qa-db-ja.com

認識されないオプション:-Java仮想マシンを作成できませんでした

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を実行すると、同じ問題が発生します。何か提案できますか?これについて本当に混乱しています。

これについて助けてくれてありがとう。

12
Programatt

通常、この種の例外(「Java仮想マシンを作成できませんでした)」を引き起こす「認識されないオプション」)が発生すると、JVMは次のように認識されないオプションを表示します。

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

詳細がないため、コマンドにスペース( "")があるだけのように見えます。

もう一度確認してください。

8
orirab

Win10でmavenを実行すると、pom.xmlがC:\dir\OneDrive - bar\workspace\project

プロジェクトを別のフォルダーに移動すると解決しました。

1
ngong

まず、Javaコマンドには-vオプションがありません。

(参照: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/Java.html ... Java 6バージョン... 'cosそれはあなたが使用しているものです。オプションの短いリストのためにJava -helpを試してください。

したがって、Java -vが失敗することが予想されます。

実験として、私はこれを試しました(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.
$ 

ご覧のとおり、「認識されないオプション」メッセージは、理解できないオプションを教えてくれます。質問のメッセージを見ると、「-」と言っていることがわかります。これは質問のコマンドラインと一致していないように見えますが、一方で質問のコマンドラインには無効なオプションはありません。

もう1つの可能性は、Javaと呼ばれるシェルエイリアスがあることです。これは、シェルのコマンドパス上のコマンドよりも優先されます。

もう1つは、古いバージョンのJavaを実行していることです。 Java 6はサポート終了となり、最後に公開されたバージョンはアップデート45です。2011年12月にリリースされたアップデート30を実行しています。 。Java 8 ...にアップグレードし、最新の状態に保つようにしてください。

1
Stephen C