问题
I have created an executable Java .jar file. That is to say, I properly packaged a java program inside a .jar file, including a META-INF/MANIFEST file.
(Incidentally, on most Windows machines with Java installed, .jar files are registered to run as something like javaw.exe -jar %1
, so you can just double click jars that have been prepared in that way.)
I just copied the same file into Linux and tried to do the same thing.
But, when I click on that file it is just opening the jar as a zip file, rather than invoking java.
How can I configure my Linux system so that the program inside the jar executes when I double click on the jar file? That is, how can I make my system invoke something like java -jar test.jar
when I double click test.jar?
回答1:
Heh, what @marc is trying to say in his comment is that how you do that could be wildly different depending on your linux flavor. In general, you just need to find out how to change the default "Open With" behavior for whichever flavor you're using. You need to tell it to open jar files with Java instead of with the archive program.
回答2:
Make your file executable:
sudo chmod +x test.jar
回答3:
One possible way would be to make a text file with that command java -jar test.jar
in it, then give that file execute permissions. Name it test
Then you would double click that file (or via the command line just type ./test
)
回答4:
Personally, I'd leave the jar file as is and create a script that will execute the command when it is clicked, then I'd just click on that.
What window manager / desktop are you using in linux? You can likely configure the default action of a click on a jar file.
来源:https://stackoverflow.com/questions/6724953/executing-a-jar-file-in-linux