Die Erzwingung der Java-Mindestversion für die Ausführung mit "java -version: value" funktioniert unter Windows nicht

8

Ich möchte die Mindestversion von JVM erzwingen, auf der meine Anwendung mit 1,6 oder höher (d. h. 1,6+) ausgeführt werden soll. Mein Verständnis ist, dass Sie dies mithilfe des Befehlszeilenarguments "-version:" tun können. Ich habe es versucht, und es schien unter Linux gut zu funktionieren, aber nicht unter Windows.

LINUX

Ich habe eine JDK-Version 1.6.0_21 auf einem Linux-Rechner installiert. Die Umgebungsvariablen $ JAVA_HOME und $ PATH wurden so eingestellt, wie sie sein sollten.

Ich habe Folgendes ausgeführt:

%Vor%

Alles schien zu erwarten. "Version: 1.6+" und "Version: 1.5+" sollten funktionieren, da ich ein JDK 1.6.0_21 installiert habe, und "Version: 1.7+" sollte nicht, weil ich kein JDK 1.7 installiert habe.

WINDOWS

Ich habe dieselbe JDK-Version 1.6.0_21 auf einem Windows-Rechner installiert (Windows 7, um genauer zu sein). Die Umgebungsvariablen% JAVA_HOME% und% PATH% wurden auf das festgelegt, was sie sein sollten.

Ich habe Folgendes ausgeführt:

%Vor%

Ich habe für jede Ausführung einen Fehler bekommen.

  • Kann jemand erklären, warum dasselbe Befehlszeilenargument unter Linux funktioniert, aber nicht unter Windows? Ist das ein Feature oder ein Fehler?

  • Was kann ich tun, um das Problem zu beheben? So weit wie möglich möchte ich die gleichen Befehlszeilenargumente sowohl für Linux als auch für Windows verwenden, also muss ich kein anderes Argument "-version:" für Linux und ein anderes für Windows angeben.

Danke.

    
His 21.07.2011, 01:09
quelle

2 Antworten

3

Wie wäre es mit Java?

%Vor%     
user802421 21.07.2011 01:41
quelle
3
  
  • Kann jemand erklären, warum das gleiche Befehlszeilenargument unter Linux funktioniert, aber nicht unter Windows? Ist das ein Feature oder ein Fehler?
  •   

Ich glaube nicht, dass es mit Linux vs. Windows zusammenhängt, eher ein Problem mit bestimmten Distributionen - ich kann das jetzt wunderbar mit dem Oracle JDK, also dem Nachfolger des Sun JDK unter Windows (beides über PowerShell oder CMD):

%Vor%

Im Gegenteil, es schlägt für mich auf Ubuntu 12.04 LTS mit OpenJDK fehl:

%Vor%

Eine kurze Suche zeigt die folgenden etwas nicht eindeutigen Fragen:

Ich habe bestätigt, dass dies immer noch mit OpenJDK 6/7 unter Ubuntu 13.10 und auch unter Amazon Linux 2013.09.2 funktioniert. Daher schlage ich vor, mit einem anderen OpenJDK-Vertrieb oder JDK-Anbieter zu experimentieren, falls dieses Problem vorherrscht - es ist definitiv ein seltsames Thema, vor allem. gegeben OpenJDK ist mittlerweile die offizielle Java SE 7 Referenzimplementierung .

    
Steffen Opel 24.01.2014 12:55
quelle

Tags und Links