Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm trying to run a jar application under Ubuntu, so I installed OpenJDK Java 7 Runtime, but when I open this application I got this message :

The file '/home/aimad/Programms/jMerise/JMerise.jar' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.

share|improve this question

4 Answers 4

up vote 11 down vote accepted

You can always run a jar file by doing java -jar JMerise.jar.

However, to make the jar file itself executable, you need to set the executable bit, as the message hints. chmod +x /home/aimad/Programms/jMerise/JMerise.jar will accomplish this.

After that you can do ./JMerise.jar to run it.

man chmod will provide you with information about how chmod works.

Also see: https://wiki.ubuntu.com/Security/ExecutableBit

share|improve this answer
    
I've done as you mentioned but I still get "Permission denied"! –  user961627 Dec 3 '14 at 8:42
    
@user961627 And where is your question? ;) –  A.B. Apr 25 at 16:16

If running a .jar file from the command line works (java -jar myFile.jar), but double-clicking it in the GUI does not, and if sudo chmod +x myFile.jar appears to succeed but you still can't open with double-click, and if right-clicking the .jar file > Properties > Permissions > "Allow executing file as program" does not work (i.e., the checkbox switches back just after you click it), then probably the .jar file is on an NTFS file system, which does not allow execute permissions on a per-file basis. (You may have this problem if you dual-boot, for example, and have a shared NTFS partition between Ubuntu and Windows).

Creating a launcher (as @tusharkant15 describes) will work because behind the scenes you're executing /usr/bin/java, not the .jar file itself. Moving the .jar file to some other file system that is not NTFS will also work.

share|improve this answer

First you'll need to make sure you have a suitable Java runtime environment on your system. Ubuntu has openjdk in the official repo which is 99.99% combatible with Oracle Java, to install it type:

sudo apt-get install openjdk-7-jre

Next create a file called java-jar-launcher.desktop in ~/.local/share/applications and put the following contents in it:

[Desktop Entry]
Type=Application
Name=Java Application Launcher
Icon=java
Exec=/usr/bin/java -jar %U
Categories=Application;Java
Terminal=False

Next add the following line in ~/.local/share/applications/mimeapps.list:

application/x-java-archive=java-jar-launcher.desktop;

Now you should be able to just double click jar files to launch them, if nothing happens then right click on a jar file, select properties then go to the "Open With" tab and there you should see "Java Application Launcher", select that.

This method is prefferable (IMHO) because this way you are not giving execute permissions to jar files which can be potentially dangerous. This method will only work in a graphical environment and needs the user to manually double click on the file.

share|improve this answer
    
Aha, so 99.99%. :) –  A.B. Apr 25 at 16:18

Right click on the file, click on properties, then go to the Permissions tab, and check the box that says "Allow executing this file as a program".

enter image description here

share|improve this answer
    
What about if I can't check that box above, to "allow executing file as a program"? I do check it, but a moment later it automatically gets unchecked! –  user961627 Dec 3 '14 at 8:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.