Running a .jar file in the command line works fine, but I am unable to execute .jar files on my PC by double-clicking them. What is interesting, the same .jar files successfully execute on my laptop with a double-click.
I included %JAVA_HOME\bin
and JDK_HOME\bin
in the PATH
variable.
I have JAVA_HOME
set to C:\Program Files\Java\jre1.8.0_121
.
I have JDK_HOME
set to C:\Program Files\Java\jdk1.8.0_121
.
For some period of time, the Java(TM) Platform SE binary disappeared from the Open with
list, and I could not add it until I changed the HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command
key in regedit.exe
to the appropriate version:
C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" "%1".
Here is a snapshot of Windows CMD with java -version
entered on my PC:
I tried the following methods, with no success:
- reinstalling both JRE and JDK,
- associating .jar files with
C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe
, - using
assoc .jar=jarfile
andftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" -jar "%1" %*
in command line, - creating a new system Environment Variable OPENDS_JAVA_ARGS and setting it to -jar.
Additional information:
- I am using Windows 7 Professional 64-bit (Service Pack 1) with latest
updates installed both on my PC and laptop. - Running .jar files by double-clicking them used to work on my PC,
but suddently stopped working some time ago. I did not modify
anything related to Java. - I have the newest version of both JRE and JDK (Java 8 version 121).
- Of the .jar files I am trying to run, some are GUI Swing applications
and some open the system console (if not already open) using
Runtime.getRuntime().exec(String[])
.
I have already tried fixing this problem with solutions on the following links (without success):
- https://stackoverflow.com/questions/8511063/how-to-run-jar-file-by-double-click-on-windows-7-64
- https://stackoverflow.com/questions/19966394/how-to-open-run-jar-file-double-click-not-working
- https://stackoverflow.com/questions/18434292/i-can-run-jar-files-through-cmd-but-i-cannot-double-click-them
- https://stackoverflow.com/questions/1724892/cant-run-jar-files
Notes:
- I do not want to open .jar files with WinRAR.
- I do not want to open .jar files by running
java -jar jarfile.jar
in cmd.exe. - I am not looking for a 3rd party application to run .jar files.
For now, I am using C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar"
as a shortcut location to run jar files, but I am not satisfied with this solution as this opens the console to run even Swing applications.
I asked the same question over on stackoverflow, but it was pointed out to me that superuser is more suitable for this kind of question.
Best Answer
I ran into someone who had the same problem you did today. And somehow, I managed to fix it, although I am not sure entirely what fixed it; I can only offer you the approximate series of steps I've taken.
Using regedit, I found that HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE registry entries weren't in agreement. HKLM had the typical
.jar
->jarfile
setup, withjarfile
pointing to the right path. HKCU had a.jar
->jar_auto_file
association which pointed to an old an invalid path.Editing this path did not fix it. I also tried pointing it to
jarfile
, which didn't help either. I fussed withassoc
andftype
a bit to see if this might wake Windows up; I figured the anti-hijacking functionality somehow prevented Windows from listening to the updated path. Sadly, it didn't do much.So eventually I just deleted the
jar_auto_file
entry. This gave me partial happiness: Windows finally realized the entry in theOpen With
menu was the one with a working path. (Selecting the correct path/file in the past would never stick around correctly.) Sadly doubleclicking was still broken. However, just making sure the 'Always open this type of file with this program' box was checked and opening it finally fixed the association well enough that doubleclicking actually worked again.