How to create a cmd file to run jars?

2019-02-25 17:13发布

I have literally tried everything to try and make my jar files executable by double clicking. But i have come to the conclusion that either I need some major help because my java installation has a problem, or I need to create a .cmd file to automatically run them properly. The code in the file would be like this:

java -jar myfile.jar

What would i replace myfile.jar with so that windows puts in the file extension of what i'm trying to open? Thanks.

标签: java jar cmd
3条回答
2楼-- · 2019-02-25 17:28

create a batch file open note pad type the following

set path="...<where u install java>/bin"

java -jar myfile.jar

save the notepad as filename.bat and put it in folder containing jar file double click it automatically run

just for example i give you a sample

@echo off
set path="F:/java/bin"
java -jar myfile.jar
pause

save it as filename.bat put it in a folder that contain filename.jar

if u can't success in above try this in batch file (it work if you install java runtime (jre)

set path =c:\Program Files\Java\jre7\bin\javaw.exe 
java -jar ImageEditor.jar
pause

ImageEditor is jar file note both jar and bat file must be in same folder

查看更多
We Are One
3楼-- · 2019-02-25 17:40

I Reinstalled Java, and now it works fine. Apparently, I had set WinRAR to be the default Jar opener for Minecraft modding. Re-installing Java reset the .jar extension, making the JRE the default instead of WinRAR.

查看更多
男人必须洒脱
4楼-- · 2019-02-25 17:50

If you want to have a .cmd file to run your jar, then such a file could look like this

@ECHO OFF
SET JRE_HOME=<path to your jre>
%JRE_HOME%\bin\java.exe -jar myfile.jar

Note that here the option -jar that implicitly means that myfile.jar contains all your dependencies and you cannot extend the classpath to include other dependencies. Also using the this option require your mainifest to have the attibute Main-Class which tells which class to run / is the entry point for your program.

Better yet include myfile.jar in the classpath an pass your main class to java.exe

@ECHO OFF
SET JRE_HOME=<path to your jre>
SET MY_CLASSPATH=<jars/libs your app depends on separated by semicolon>;myfile.jar
%JRE_HOME%\bin\java.exe -cp %MY_CLASSPATH% <your main class>

Finally if you want to make an .exe of your java programm then you might want to use a wrapper like jsmooth which bundles your jar and all it's dependencies into a single .exe file

查看更多
登录 后发表回答