# java version prüfen



## Franke (6. Jul 2005)

Hallo,

gibt es von Java aus, eine Möglichkeit die Java Version des jre zu prüfen. 

Beispiel :

Ich habe ein Programm mit dem jva sdk 1.5 erstellt, es wird das jre 1.5 benötigt und ich möchte prüfen ob derjenige. der das Programm ausführt, auch diese Version hat, falls kleiner, dann z.B. Programm beenden.


----------



## mic_checker (6. Jul 2005)

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()


----------



## Franke (6. Jul 2005)

```
private void checkUPVersion(){
		Properties system_properties = System.getProperties();
		System.out.println(system_properties.get
				          (new String("java.version").toString()));
	}
```

Das war das was ich gesucht habe, die Frage nun ist aber, wie ich die Ausgabe vergleichen kann.
Als Ausgabe bekomme ich 1.5.0 , wie kann man sowas vergleichen ?


----------



## mic_checker (6. Jul 2005)

Ganz einfach, bei mir zeigt er momentan folgendes:



> 1.4.1_01



Jetzt kannst ja nochmal nachdenken


----------



## Franke (6. Jul 2005)

```
private void checkUPVersion(){
		Properties system_properties = System.getProperties();
		String version    = (String) system_properties.get
				                     (new String("java.version"));
		double   ver = Double.parseDouble(version.substring(0,3));
		System.out.println(ver);		                     
	}
```

Wäre dies eine einigermassen "intelligente Lösung" Ausgabe wäre bei mir 1.5 ....


----------



## mic_checker (6. Jul 2005)

1) Warum fragst du nicht mit System.getProperty("java.version") einfach ab ?

Der Cast in String ist nicht notwendig, übergeb einfach "java.version" anstatt new String(...).


----------



## Guest (6. Jul 2005)

Hmmm,


```
System.out.println(System.getProperty("java.version"));
```

Das geht, ist ja klar. Aber ich muss mir die Ausgabe doch irgendwie in einer Variable wie double speicher um einen
Vergleich zu machen.



```
if(version < 1.5){
   mach irgendwas
 }
```

Oder bin ich irgendwie schon komplett am Ende ?


----------



## Roar (6. Jul 2005)

kuck dir mal String#compareTo() an


----------



## Franke (6. Jul 2005)

Also so langsam muss das doch stimmen :


```
if(System.getProperty("java.version").compareTo("1.5.0") == 1){
			System.out.println("Java Runtime Environment 1.5 mindestens erforderlich");
			System.exit(1);
		}
```

Wenn die Version kleiner als 1.5.0 ist, so ergibt dies 1.
Wenn die Version genau 1.5.0 ist, so ergibt dies 0.
Wenn die Version größer 1.5.0 ist, so ergibt dies -1.

Also müsste das Code Stück oben passen nicht wahr ?


----------



## thE_29 (6. Jul 2005)

Es ist sowieso egal, da er einen Fehler bekommt, mit irgendeinem Versionskonflikt!!!

Habe jetzt die Zahl vergessen, aber wenn ich in der Fa. java 1.5 Programm aufrufe (mit 1.4) kommt dieser Fehler ....


Dh, der geht dir in dein Programm net mal rein, wenn diese Zahl (verflucht wie heißt die bloß) net passt!!


----------

