从批处理文件运行.jar

Ari*_*020 43 java file batch-file

我创建了一个可执行.jar文件.如何在.jar不提及类路径的情况下执行批处理文件?

Jle*_*leu 52

在Windows上,您可以使用以下命令.

start javaw -jar JarFile.jar
Run Code Online (Sandbox Code Playgroud)

通过这样做,命令提示符窗口不会保持打开状态.


Bru*_*ros 22

有一个解决方案,不需要在.bat中指定jar文件的路径.这意味着只要.bat文件始终位于与jar相同的目录中,就可以在文件系统中移动jar而不进行任何更改..bat代码是:

java -jar %~dp0myjarfile.jar %*
Run Code Online (Sandbox Code Playgroud)

基本上%0会扩展到.bat完整路径,并%~dp0扩展到除文件名之外的.bat完整路径.因此,%~dp0myjarfile.jar与.bat文件位于同一位置的myJarFile.jar中的完整路径.%*将获取给.bat的所有参数并将其传递给Java程序.(参见:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr = true)


Jon*_*FTW 15

如果您希望批处理文件运行jar文件,请创建一个名为runjava.bat的空白文件,其中包含以下内容:

java -jar "C:\myjarfile.jar"
Run Code Online (Sandbox Code Playgroud)


Nag*_*S R 12

您可以.bat使用以下内容创建具有扩展名的批处理文件

使用java.jar不具有UI,是一个命令行应用程序

@ECHO OFF
start java -jar <your_jar_file_name>.jar
Run Code Online (Sandbox Code Playgroud)

使用javaw.jar具有UI

@ECHO OFF
start javaw -jar <your_jar_file_name>.jar
Run Code Online (Sandbox Code Playgroud)

请确保JAVA_HOME在环境变量中设置了您的设置.


Use*_*456 6

cd "Your File Location without inverted commas"
Run Code Online (Sandbox Code Playgroud)

示例: cd C:\ Users*****\Desktop\directory\target

java -jar myjar.jar
Run Code Online (Sandbox Code Playgroud)

示例bat文件如下所示:

@echo OFF
cd C:\Users\****\Desktop\directory\target
java -jar myjar.jar
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作.


mdm*_*mdm 5

要从命令行运行.jar文件,只需使用:

java -jar YourJar.jar
Run Code Online (Sandbox Code Playgroud)

要将其作为批处理文件执行,只需将命令复制到文本文件并将其另存为.bat:

@echo off
java -jar YourJar.jar
Run Code Online (Sandbox Code Playgroud)

@echo off只是确保不打印所述第二命令.


Ric*_*dle 4

如果在 Windows 资源管理器中双击 .jar 文件有效,那么您应该能够使用以下命令:

start myapp.jar
Run Code Online (Sandbox Code Playgroud)

在你的批处理文件中。

Windowsstart命令在幕后执行的操作与双击文件完全相同。