2017-05-17 9 views
0

Ich versuche, eine Java-Anwendung (jnlp) auszuführen, aber Problem ist, wenn ich diese Anwendung starte, versucht es, JRE Version 1.8.0_121-b13 zu verwenden. Wie kann ich diese Java-Version zu Java 1.6 ändern?Wie Java-Konsole JRE aktualisieren?

Java Web Start 11.121.2.13 x86 
Using JRE version 1.8.0_121-b13 Java HotSpot(TM) Client VM 
c: clear console window 
f: finalize objects on finalization queue 
g: garbage collect 
h: display this help message 
m: print memory usage 
.... 

Sowohl Benutzer- und System JRE-Versionen sind 1,6

enter image description here

Wenn ich diese JAR-Datei herunterzuladen und zu versuchen, mit dem Befehl

java -jar sample.jar 

von Konsole, System mit Java 1.6 laufen um diese Anwendung auszuführen.

EDIT:

Ausgabe von

java -version 

java version "1.6.0_45" 
Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) 

Meine jnlp Datei;

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="***mysite***" href="sample.jnlp"> 

<information> 
    <title>Sample jnlp</title>   
    <offline-allowed/> 
</information> 


<security> 
    <all-permissions /> 
</security> 

<resources> 
    <j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se" /> 
    <jar href="sample.jar" main="true" /> 
    <property name="jnlp.packEnabled" value="true" /> 
</resources> 

<application-desc name="sample" main-class="com.test.main"> 
</application-desc> 

<update check="always" policy="always"/> 

</jnlp> 
+0

Ich bekomme nicht Ihren letzten Satz.Wollen Sie sagen: Wenn Sie Java manuell über die Befehlszeile aufrufen, wissen Sie, wie man Java 1.6 auswählt? – GhostCat

+0

@GhostCat Nein, ich meine Wenn ich diese JAR-Datei über das Befehlszeilensystem mit Java 1.6 ausführen, um diese Anwendung wie erwartet auszuführen. Aber warum versucht Java 1.8 zu verwenden, wenn ich versuche, diese Anwendung aus dem Internet zu starten? Siehe meine Bearbeitung auch – hellzone

+0

Was Java-Version ist Ihre Anwendung Server verwendet, überprüfen Sie bitte zuerst – murthy

Antwort

2

Das Problem wird sehr wahrscheinlich, dass die JNLP-Datei für die Anwendung (http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#example sehen) gibt, dass die Anwendung Java 8 oder höher erfordert. Und wenn Sie es irgendwie geschafft haben, den Application Launcher dazu zu bringen, Java 6 zu verwenden, würde die App scheitern, weil sie auf Java 8-Bibliotheken angewiesen ist.

Sie benötigen ein Java 8 JRE zu installieren:

  • die App zu bekommen und
  • zu laufen, weil Java 6 über End-of-life ist und nicht mehr Sicherheits-Patches zu bekommen.

(Genau wie WindowsXP ist nicht: https://en.wikipedia.org/wiki/WannaCry_ransomware_attack_)


UPDATE - Versuchen JNLP zwingen eine bestimmte Version von Java zu verwenden; z.B. ersetzen

<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se" /> 

mit

<j2se version="1.6" href="http://java.sun.com/products/autodl/j2se" /> 

Ich vermute, dass es javaws sein könnte selbst, dass Sie versucht, um zu verhindern, versehentlich eine veraltete/unsichere Java-Release verwenden.


1 - OK, schlagen Sie uns Ihre Kommentare, dass die App mit Java laufen 6, wenn Sie es von der Befehlszeile ausgeführt werden. In diesem Fall ist der wahrscheinlichste Grund dafür, dass die JNLP-Konfiguration auf dieser Website Java 8 angibt, weil sie Ihnen eine starke Nachricht senden, die Sie aktualisieren sollten. Die Verwendung von JNLP Launch und Java 6 ist ein Sicherheitsrisiko, es sei denn, Sie bezahlen einen Java 6-Supportvertrag von Oracle und Sie patchen Ihre JRE regelmäßig.

+0

Ich habe meine jnlp-Datei hinzugefügt. Problem ist, dass ich diese jnlp-Datei manuell erstellt habe und nicht angegeben habe, Java 1.8 zu verwenden. – hellzone

+0

Immer noch nicht funktioniert. Ich habe Java 1.8 (jre 1.8 32 Bit) entfernt, als ich dann versuchte, jnlp (und jede JAR-Datei) erneut zu starten, zeigt es "Wie öffne ich diese Datei" Dialog. Problem ist, ich habe auch Java 1.8 (jre 1.8 64 Bit) und Java 1.6 (jdk 1.6 64 Bit). – hellzone

+0

Ich dachte, Ihre Frage spezifiziert, dass Sie * Java * 6 verwenden möchten. Wenn Sie (jetzt) ​​Java 8 verwenden möchten, schlage ich vor: 1) deinstallieren Sie alle JDKs und JREs (löschen Sie nicht nur die Verzeichnisse ...) , 2) installiere Java 8 (JDK oder JRE) ** nur **, 3) ändere die JNLP-Datei in version = '1.8 +'. –