使用Windows批处理文件启动Java程序

时间:2015-03-11 21:05:16

标签: java windows batch-file

我不熟悉批处理脚本,但我想创建一个Windows批处理文件来启动Java程序。问题是它必须具体安装JRE的路径。当您同时安装JRE7和JRE8时,该JRE8文件夹的名称将调用类似 jre1.8.0_20 jre1.8.0_40 的名称,后面带有版本号。如果只安装了JRE8,则该文件夹将调用 jre8 。有没有更简单的方法来查找最新安装的JRE的位置然后执行它?感谢。

start ..\..\Java\jre7\bin\javaw.exe -Xms512M -Xmx1024M -Djna.library.path=.\lib -cp example.jar; com.example.main

2 个答案:

答案 0 :(得分:1)

您应该可以通过执行javaw.exe来获取where java的位置。这可以在批处理文件中设置为变量,如下所示:

# sets a variable called 'java' to the location of javaw.exe
for /f "delims=" %a in ('where javaw') do @set java=%a
# execute you jar file
%java% -jar <app.jar>

注意到上述操作仅在从命令行直接运行时才起作用。这是另一个应该在批处理文件中工作的示例:

# run.bat
@echo off
setlocal enabledelayedexpansion
for /f %%a in ('where javaw') do (
  set java=%%a
)
!java! -jar %1

应使用jar文件的名称调用上述批处理文件:

 run.bat app.jar

答案 1 :(得分:0)

我认为最好只使用JAVA_HOME和/或JRE_HOME,让用户/系统管理员担心安装的内容。

相关问题