Ich bin eine ausführbare JAR-Datei an den Kunden, Kunde hat JRE 5, JRE 6 und JRE 7 auf der Box installiert. Mein Jar brauchte JRE 7 um zu laufen. Ohne das System PATH (Environment var) zu ändern, wie kann ich das JRE 7 für die Verwendung angeben?wie JRE angeben, um eine ausführbare jar auszuführen
Antwort
Sie vollständigen Pfad zu dieser JRE angeben können, die Sie benötigen, zum Beispiel:
/path/to/jre/bin/java.exe -jar executable.jar
oder
/path/to/jre/bin/javaw.exe -jar executable.jar
Wenn Sie dies von einem Shell (Skript) laufen dann ist es Es empfiehlt sich, zuerst die Umgebungsvariable JAVA_HOME
an die richtige Stelle vor dem Ausführen der ausführbaren Datei zu setzen (/path/to/jre
). Sie könnten zuerst JAVA_HOME
setzen/exportieren und dann auf den Speicherort der ausführbaren Java-Datei (z. B. %JAVA_HOME%\bin\java.exe
unter Windows) erweitern. Weitere Informationen here.
Vorsicht, dies ist ein sehr gefährlicher Weg. Normalerweise befindet sich die neueste Version einer Laufzeit in jre7 oder jre8. Dies wird Updates erhalten, da es sich um eine Patch-in-Place-Installation handelt (wie Oracle es nennt). Wenn Sie auf eine statische Laufzeit verweisen oder wenn der Standort keine (Sicherheits-) Updates mehr erhält, können Probleme auftreten. –
Ich bin mir nicht sicher, ob es eine plattformübergreifende Möglichkeit gibt, dies zu erreichen.
Unter Windows können Sie ein Tool wie launch4j verwenden, um das Jar als .exe
zu verpacken, das eine geeignete JRE auswählen kann.
Unter Mac OS X können mehrere verschiedene JDKs parallel installiert sein, aber nur eine öffentliche JRE (die mindestens die neueste Version der installierten JDKs ist und möglicherweise neuer ist, wenn sie automatisch aktualisiert wurde). Es ist die öffentliche JRE, die für App-Bundles und beim Doppelklicken auf ein JAR im Finder verwendet wird.
Normalerweise haben solche Launcher spezifische Methoden, um die beste zu verwendende JRE zu finden. Daher sollte diese Antwort der direkten Angabe der ausführbaren VM-Datei (z. B. "java.exe") vorgezogen werden, da sie flexibler und möglicherweise sicherer ist. Es fügt jedoch eine andere Komponente zu Ihrer Laufzeit hinzu. –
Der einfachste Weg, dies zu tun, ist Java WebStart zu verwenden, um Ihr Programm zu starten und dann anzugeben, dass Sie eine entsprechend neue Version von Java benötigen. Der Launcher sucht dann nach einer geeigneten Distribution auf Ihrem System.
Mit javaws können Sie auch einfach neue Updates an Ihre Benutzer verteilen.
Vorbehalt: Caching war im Laufe der Jahre ein Problem. Stellen Sie sicher, dass sich die URL eines jar ändert, wenn ein jar Inhalt ändert.
- 1. Eine JRE in eine ausführbare Windows-Datei einbetten?
- 2. ausführbare jar Konnte Hauptklasse
- 3. Run. Klasse &. Jre mit tragbaren JRE
- 4. Externe Eigenschaftendatei für eine ausführbare Jar
- 5. Wie erstellt man programmgesteuert eine ausführbare JAR-Datei aus Quellcode?
- 6. Build ausführbare JAR für Gatling Belastungstest
- 7. Wie man eine ausführbare jar mit Abhängigkeit jars
- 8. BeanDefinitionParsingException in ausführbare JAR-Datei
- 9. So rufen Sie ein eingebettetes JRE über die Befehlszeile auf, um Java-Anwendungen auszuführen
- 10. Generische Möglichkeit, vorhandene ausführbare Dateien parallel auszuführen
- 11. Gibt es eine gute Möglichkeit, Maven zu verwenden, um ein ausführbares jar auszuführen?
- 12. Wie erstellt man eine Setup-Datei, die eine ausführbare Datei installiert Jar
- 13. .JAR Ausführbare Datei nicht richtig ausgeführt
- 14. Frühlings-Boot ausführbare jar "ungültig oder beschädigt JAR-Datei"
- 15. Erstellen Sie ausführbare Jar mit Einstiegspunkt in einem eingebetteten Jar
- 16. Wie exportiere ich ein GWT-Projekt in eine ausführbare JAR-Datei mit Eclipse?
- 17. ausführbare Jar läuft langsamer als Eclipse
- 18. Können wir einen anderen Thread verwenden, um eine externe ausführbare Datei auszuführen
- 19. Ausführbare Jars laufen sehr langsam
- 20. eclipselink PersistenceUnitLoadingEception in ausführbare Datei JAR
- 21. Wie man Feder-basierte ausführbare jar mit Maven erstellen?
- 22. Probleme beim Ausführen ausführbare jar mit Abhängigkeiten
- 23. Warum kann Springboot ausführbare jar nicht extrahieren
- 24. Ausführen ausführbare JAR-Datei von Java-Servlet
- 25. Run ausführbare jar mit Parametern von gradle
- 26. ausführen ausführbare jar mit einem Linux-Skript
- 27. ausführen JAR-Datei mit einer bestimmten Version der JRE
- 28. Wie können Sie ein ausführbares jar mit einer tragbaren JRE packen?
- 29. Wie Spring-Boot-ausführbare JAR-Standard-Log-Datei zu deaktivieren?
- 30. Fügen Sie ein Ant-Target, um eine Klasse aus einer JAR-Datei auszuführen
Zeichenfolge version = System.getProperty ("java.version"); if (! Version.StartsWith ("1.7")) {// Download-Seite zu Java öffnen} – Anirudha
danke, aber das ist nicht die Voraussetzung – user1493834
Über ** Antwort **, nur für die Version zu überprüfen und nur weiter, wenn es ist beginnend mit 1.7 sperrt Sie die Verwendung einer bestimmten Java-Version und ist daher absolut falsch. –