Running .jar File on Linux

45,071

Solution 1

First, try running it on the command-line, with

java -jar <file.jar>

The user.dir property is cross-platform (see here) so it should not be the problem. However, are you using correct file separators? Remember it's '/' on UNIX and '\' on Windows.

Solution 2

Try java -jar Jarname.jar and pass other files as arguments after this command

Solution 3

The code line you gave works fine on linux.

My best guess is that you're then trying to use this directory path by adding a windows-specific path separator (like path + "\subdir") which isn't appropriate for linux (you should build a new File object instead).

Either that, or your jar file isn't being executed at all. Have you tried doing something very simple in your jar file to see if anything is being run? Have you tried running your jar with java -jar myapp.jar to see if any exceptions are thrown or error messages displayed?

Share:
45,071
John Roberts
Author by

John Roberts

Updated on March 28, 2020

Comments

  • John Roberts
    John Roberts about 4 years

    I have a .jar file that reads two files from within its current folder and produces as output a .txt file and a separate folder with multiple other .txt files. This works perfectly in Windows using this code to create the directory:

    static String dir = System.getProperty("user.dir");
    

    I used the instructions here: https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click to set up my .jar file to run on a simple double-click, but as of right now, it does nothing when double-clicked. My guess is that the above line of code does not translate well to Linux. Anybody know how to resolve this?