2016-03-22 9 views
0

でJavaのバージョンと一致していない私は、このコマンドを使用してJavaのv1.7_40を持っている特定のフォルダから私のアプリを起動しています:Javaバージョンは例外スタックトレース

start /D <path_to_java1.7_40_bin> /HIGH /B javaw.exe ..... 

私のシステムJavaはV1です。 8_60つまり、私のPATH環境変数がJava v1.8_60を指しています。

私のアプリで発生した例外がある場合は、私は以下を参照してください

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_60] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_60] 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.27] 
at java.lang.Thread.run(Unknown Source) [?:1.8.0_60] 

は、私は私のアプリがエラーなしで開始され、正です。誰もがスタックトレースのJavaのバージョンが、アプリケーションの開始バージョンと一致しない理由を教えてもらえますか?

+4

javawの特定のバージョンを使用する場合は、ここで/ Dを使用するのではなく、完全なパスを使用します。さもなければ、パス変数が無視されるかどうかを言うことは難しいです。変数の場合は、適切なディレクトリで起動するように、おそらくの値を出力します。問題は、/ Dがアプリケーションの開始ディレクトリが内部的に参照するためのものに過ぎないということです。しかし、この起動コマンドを別のディレクトリから呼び出す場合は、パス変数を使用してjavaw.exeを探します。 – ManoDestra

+0

ありがとう!それはそれだった。私はjavawへの完全な経路について言及し、それを修正しました。 – Sapphire

+1

これを解答として投稿しました。あなたのためにそれをソートして嬉しい:) – ManoDestra

答えて

0

特定のバージョンのjavawを使用する場合は、ここで/ Dを使用するのではなく、完全なパスを使用します。さもなければ、パス変数が無視されるかどうかを言うことは難しいです。だから...

start /HIGH /B <path_to_java1.7_40_bin>\javaw.exe 

そして、変数であれば正しいディレクトリから開始していることを保証するために、おそらく値を出力します。問題は、/ Dがアプリケーションの開始ディレクトリが内部的に参照するためのものに過ぎないということです。しかし、この起動コマンドを別のディレクトリから呼び出す場合は、パス変数を使用してjavaw.exeを探します。

関連する問題