我正在运行一个分发为服务器端系统的Java应用程序。我想要编写一个启动器(这里“编写”有些夸张,实际上我只是复制Java.exe文件,以便我们可以在Windows进程资源管理器中得到所需的名称)。这个exe文件位于我们应用程序文件树的bin/目录中。
现在,我们的文件树中还有一个jre/目录,其中Java.exe实际上驻留(我们使用Java环境来发布产品)。当我使用位于\jre\jre1.6.0_21\bin中的Java.exe作为启动器,或者如果我将我制作的副本(将其称为'Orange.exe')放置在此目录中时,它就能正常工作。但是,如果我将我的'Orange.exe'放在bin\目录中,则会出现以下错误:
Error: no 'server' JVM at 'C:\Program Files\Java\jre6\bin\server\jvm.dll'
我认为我理解了这里发生了什么-我想要使用jvm.dll文件的服务器版本,它位于我们的jre目录中。问题是,我不明白为什么它不会查找我应用程序路径中的jre\jre1.6.0_21目录。我已将JAVA_HOME环境变量设置为此位置。它似乎默认为另一个系统范围内的期望位置。
有人知道如何更改这个设置,以便它查找我们提供的Java环境目录吗?理想情况下,这将是一个环境变量,因为我需要使用批处理文件调用此应用程序并传递参数。