应用程序的Java版本与异常堆栈跟踪中的Java版本不匹配

应用程序的Java版本与异常堆栈跟踪中的Java版本不匹配,java,Java,我正在通过以下命令从具有Java v1.7_40的特定文件夹启动我的应用程序: start /D <path_to_java1.7_40_bin> /HIGH /B javaw.exe ..... 我确信我的应用程序正在启动,没有任何错误。有人能告诉我为什么堆栈跟踪中的Java版本与应用程序的起始版本不匹配吗?如果您想使用特定版本的javaw,那么我会使用它的完整路径,而不是在这里使用/d。否则,很难说path变量是否会被忽略。所以 start /HIGH /B <path_

我正在通过以下命令从具有Java v1.7_40的特定文件夹启动我的应用程序:

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

我确信我的应用程序正在启动,没有任何错误。有人能告诉我为什么堆栈跟踪中的Java版本与应用程序的起始版本不匹配吗?

如果您想使用特定版本的javaw,那么我会使用它的完整路径,而不是在这里使用/d。否则,很难说path变量是否会被忽略。所以

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

如果是变量,我可能会输出的值,以确保您在正确的目录中启动。问题是/D只告诉应用程序它的起始目录是什么,供内部参考。但是,如果您从另一个目录调用这个start命令,那么它仍然将使用path变量来定位javaw.exe。

如果您想使用特定版本的javaw,那么我将使用它的完整路径,而不是这里使用/d。否则,很难说path变量是否会被忽略。如果是变量,我可能会输出的值,以确保您在正确的目录中启动。问题是/D只告诉应用程序它的起始目录是什么,供内部参考。但是,如果您从另一个目录调用这个start命令,那么它仍然将使用path变量来定位javaw.exe。非常感谢!就这样。我提到了javaw的完整路径,它解决了这个问题。我把它作为这个问题的答案发布了出来。很高兴为您排序:)您是如何在堆栈跟踪中获得版本号的?这看起来真的很有用,但我似乎不知道怎么做。我们使用Apache的Log4j,我认为它默认显示java版本。
start /HIGH /B <path_to_java1.7_40_bin>\javaw.exe