Ariod
Ariod

Reputation: 5851

Opening JNLP File in Java 6 JRE instead of JRE 7

I have Java 6-based Java Web Start application that I need to open on a Windows machine. The machine has JRE 7 installed, with JRE 6 copied manually to the Program Files folder. The problem is that whenever I want to open the JWS application, it opens using Java 7. Even if I use the javaws executable from JRE 6, some properties still refer to JRE 7 files (I verified this by using javaws -verbose app.jnlp. How can I force JRE 6 just for this application?

Upvotes: 15

Views: 64343

Answers (10)

Giors Geks
Giors Geks

Reputation: 1

Just drag link of jnlp file over appropriate version of javaws and it "Open with"picture how to open jnlp with javaws MacOS users usually open files the same way

Upvotes: 0

Jnlp jre settings are under Java settings which is in Control Panel.

Go to Control Panel and search "Java". In my case it is Java (32-bit). Open it and select Java tab, then Java Application Runtime Settings

Upvotes: 1

Nigel Pearson
Nigel Pearson

Reputation: 5

I would advise also adding the -verbose flag. e.g. javaws.exe -verbose http....

In my case, I was still invoking some java1.8 arguments (see screenshot), so I had to also disable Java 8 in the Java control panel.

Upvotes: 1

Dobrin Dobrev
Dobrin Dobrev

Reputation: 1

I had the exact same problem. I created a bat file that changes the JAVA_HOME variable, then uses javaws to run the jnlp file and it worked for me.

Contents of the bat file:

SET "JAVA_HOME=[path to your jre folder]"
javaws [path to your jnlp]

Hope it helps :)

Upvotes: 0

Julian Bueno
Julian Bueno

Reputation: 31

Another plausible solution that worked for me was to rename the javaws.exe(javaws2) program file of the most recent JRE/JDK since JVM always search for the newest version installed. If you need to rollback changes, just rename again to the original value

Upvotes: 3

Christian Schulzendorff
Christian Schulzendorff

Reputation: 1471

I have an UAC controlled laptop with Windows 7 and two Java versions installed (1.8 and 1.7). The sesWebstart.jnlp has to be started with the older Java version, in my case 1.7. This worked for me: In the Java Control Panel, delete all entries for the application sesWebstart.jnlp (if exists). You can start the Java Cache Viewer in the command line:

C:\Program Files (x86)\Java\jre1.7.0_55\bin> javaws -viewer

The command starts the Java Control Panel and the Java Cache Viewer. Goto the Java Cache Viewer, select the application list and delete the entry for sesWebstart.jnlp (if exists).

Close the Java Cache Viewer an goto the Java Control Panel. Goto the Settings of the temporary internet files and delete the cache files and the application itself. After that, close the Java Control Panel.

Create a new batch file, that will start the sesWebstart.jnlp with the correct Java (the older one):

"C:\Program Files (x86)\Java\jre1.7.0_55\bin\javaws.exe" "D:\Users\christian\Desktop\sesWebstart.jnlp" 

Now, the sesWebstart Applet can start by executing this batch file.

Upvotes: 4

Andrew Thompson
Andrew Thompson

Reputation: 168795

I have Java 6-based Java Web Start application ..How can I force JRE 6 just for this application?

Use an appropriate version attribute in the j2se element.

<resources>
    <!-- Any 1.6 JRE -->
    <j2se version='1.6*'>
    ...
</resources> 

Warning

This solution no longer seems to work for installing earlier versions of the JVM!

The best reason I can think of for why it would fail to work is that Oracle is tiring of releasing security updates for earlier Java versions - so is forcing every user to use the latest JVM.

Upvotes: 16

Ben
Ben

Reputation: 329

I realize this is the oldest post ever, but it came up when I searched for a similar problem. Easiest way to deal with this (as a one time solution that won't affect the system overall) is to install a parallel older version of Java, and drag the jnlp on to the javaws.exe. (I had a web app that used Java 5 and wouldn't open otherwise)

Upvotes: 14

Filip Stachowiak
Filip Stachowiak

Reputation: 375

Just explicitly use the javaws.exe from the JRE you want, like this:

C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe file.jnlp

But please have other answers in mind, like j2se version setting and jnlp spec.

Upvotes: 1

NikhilK
NikhilK

Reputation: 191

you have to do in manually by doing following simple process,

  1. right click on jnlp file --> propeties. go to attribute opens with --> click on change button.
  2. select browse.
  3. choose path of javaws.exe of JRE version that you want whether 6 ot 7. ex. C:\Program Files (x86)\Java\jre7\bin\javaws.exe (in my case)

Upvotes: 0

Related Questions