regnov
Goto Top

Unterschiedliche Java Versionen nutzen

Hallo Zusammen,

ich habe eine Frage bezüglich des Aufrufs, bzw. der Nutzung von unterschiedlichen Java Versionen für zwei Anwendungen auf einem System. Gibt es einen Aufruf für die Anwendung, um beim Start die Java Version mitzugeben?

Hintergrund sind zwei Anwendungen auf unseren Citrix Servern, die nur mit der aktuellen Java Version bzw. Java-1.4.1 laufen.

Bisher habe ich nichts brauchbares für die Lösung meines Problems gefunden. Hoffe hier kann mir jemand weiterhelfen.


Gruß
RegNov

EDIT: Leider ist es nicht möglich, die innerhalb der beiden Anwendungen die Java Version direkt zu hinterlegen.

Content-Key: 231982

Url: https://administrator.de/contentid/231982

Printed on: April 25, 2024 at 00:04 o'clock

Member: colinardo
colinardo Mar 07, 2014 updated at 12:41:43 (UTC)
Goto Top
Hallo Regnov,
einfach mit der entsprechenden Java-Version aus dem jeweiligen Verzeichnis die Anwendung starten:
<PFAD_ZUM_JRE>\bin\java.exe -jar Executable.jar
oder du setzt vor dem Start der Anwendung in einem Script die JAVA_HOME Variable auf den entsprechende Pfad deiner Version:
https://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Varia ...

Grüße Uwe
Member: RegNov
RegNov Mar 07, 2014 updated at 14:44:54 (UTC)
Goto Top
Hey Uwe,

du bist mal wieder der erste face-smile Danke für die erneut schnelle Anwort.

Ich habe den Workaround mit " -jar Executable.jar" auch schon versucht, aber hatte leider nur mäßigen erfolg dadurch. Eine der beiden Anwendung (und das habe ich hier vergessen zu erwähnen) wird jedesmal aus einem HOME Directory des jeweiligen Benutzers heraus gestartet. Diese Anwendung benötigt Java-1.4. Die zweite Anwendung benötigt die Java Version 1.7 ....

Werde es jetzt mal über die Systemvariable JAVA_Home versuchen. Allerdings weiss ich jetzt nicht genau, wie ich dann das Script anlegen muss, damit es vor der Anwendung gestartet wird. Ab besten über ein LOGON Script schätze ich mal hier...
Member: colinardo
Solution colinardo Mar 07, 2014, updated at Mar 13, 2014 at 13:10:00 (UTC)
Goto Top
Zitat von @RegNov:
Werde es jetzt mal über die Systemvariable JAVA_Home versuchen. Allerdings weiss ich jetzt nicht genau, wie ich dann das
Script anlegen muss, damit es vor der Anwendung gestartet wird. Ab besten über ein LOGON Script schätze ich mal hier...
schreib dir eine Batch für jede der beiden Anwendungen in der du JAVA_HOME setzt und dort dann auch deine Java-Anwendung heraus startest:
set JAVA_HOME=C:\Progra~2\Java\jre7
REM Hier dann deine Anwendung starten
Dann nutzen die User zukünftig die Batch zum Starten der Anwendung.
Member: RegNov
RegNov Mar 07, 2014 at 14:58:21 (UTC)
Goto Top
mhh ich werde mich Montag nochmal melden. Ich geh jetzt erstmal ins Wochenende.

Schönes Wochenende an alle face-smile
Member: RegNov
RegNov Mar 10, 2014 at 12:27:46 (UTC)
Goto Top
Hallo Uwe,

danke für den Hinweis. Habe es jetzt so gemacht:

JAVA_HOME Systemvariable habe ich auf C:\Progra~2\Java\jre6 gesetzt

Dann habe ich eine Batch für den Start geschrieben, wie du es mir empfohlen hast. Die Anwendung benötigt eine ältere Java Version als jr6.

set JAVA_HOME=C:\Progra~2\Java\j2re1.4.2 ( testweise auch mit C:\Progra~2\Java\j2re1.4.2\bin\javaw.exe )
start C:\Anwenungspfad\anwendung.jnlp

Die Batch startet die Anwendung auch erfolgreich. Leider wird mir trotzdem ein Java Fehler ausgegeben... Die JAVA_HOME Variable wurde aber erfolgreich gesetzt - mit echo %JAVA_HOME% wird mir die zuvor angegeben Version angezeigt.


Muss jetzt mal rausfinden warum er mir die Anwendung nicht mit der gesetzten Variable startet...
Member: colinardo
Solution colinardo Mar 10, 2014, updated at Mar 13, 2014 at 13:09:51 (UTC)
Goto Top
kann man erfahren um welche Anwendungen es sich handelt?
Für Java WebStart (*.jnlp) Projekte kann man es auch im *.jnlp File selber festlegen, indem man im Resources-Abschnitt die Java-Version angibt:
http://stackoverflow.com/questions/13744841/opening-jnlp-file-in-java-6 ...

Zur Info: Die *.jnlp Datei ist ein einfaches Text-File das du mit dem Editor öffnen kannst.
Dort änderst du die Version in den Resources-Abschnitten mit
<j2se version='1.4*'>
Siehe dazu auch die Referenz.

Grüße Uwe
Member: RegNov
RegNov Mar 10, 2014 at 13:18:37 (UTC)
Goto Top
Hi,

mhh ja leider startet die Anwendung dann erst recht nicht mit der gewünschten Version. Im Vordergrund steht immer Java 7, d.h es wird ausschließlich mit der neuesten Version gestartet... egal welche ich der Anwendung vorher mitgebe.

Es handelt sich bei der Anwendung um eine Lagerverwaltungssoftware die für unsere Versandabteilung von einem Partner entwickelt wurde. Auf den Citrix Servern musste jetzt eben für eine neuere Version eines anderen Programms eine neuere Java Version installiert werden. Seit dem läuft auf diesem System die Lagerverwaltungsssoftware leider nicht mehr...
Member: RegNov
RegNov Mar 10, 2014 updated at 15:13:16 (UTC)
Goto Top
Also mir ist nochmal was aufgefallen:

Die beiden installierten Java Version befinden sich in unterschiedlichen Verzeichnissen (C:\Progra~1 und C:\Progra~2).

Ansich kein Problem, nur verliert Java im Control Panel die ältere Version, nachdem ich diese dort manuell hinterlegt habe. Kurzum habe ich jetzt die Java Version 1.4 zu der Version 1.7 in den Systemordner gepackt. Jetzt verliert er die zweite Version nicht, allerdings hat das auch zu keiner Veränderung geführt...

Die Anwendung wird nach wie vor mit Java 1.7 gestartet

EDIT: Leider stimmt das so nicht ganz, er hat auch diesemal die Version 1.4 wieder im Control Panel verloren, sobald ich diese ebenfalls auf "aktiv" setze
Member: RegNov
RegNov Mar 13, 2014 at 13:09:46 (UTC)
Goto Top
Hey,

ich schließe den Thread hiermit. Die Java Version wurde hart hinterlegt in der Anwendung und kann nicht über eine Systemvariable verändert werden.

Unser Partner muss jetzt die Anwendung neu anpassen. Trotzdem vielen Dank für deine Hilfe Uwe! Hätte bei einer lokalen Anwendung sicherlich geklappt...

Gruß
RegNov