![]() |
Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen wil
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich will eine .jar-Datei mit ausliefern und aus meinem Delphi-Programm heraus ausrufen. Konkret geht es um die Mustang-CLI-2.14.0.jar vom Mustangprojekt für ZuGFeRD-Rechnungen. Jetzt kann ich ja nicht davon ausgehen, dass auf jedem Ziel-Rechner beim Kunden das Java Runtime Environment (JRE) installiert ist. Das JRE mit auszuliefern widerspricht aber anscheinend den Lizenzbestimmungen von Oracle (s. Screenshot von der Installation des JRE). Und auf ![]() Zitat:
|
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Man nimmt eine offene JRE, z.B:
![]() ![]() |
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Siehe auch im Delphi-Setup, bzw. Tools > Platformen verwalten
do findest du auch den Namen einer offnenen JRE, welche genutzt werden kann. Und dann ab in die Sandbox und schauchen, ob auch alles geht (dabei ist). ![]() |
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Danke euch, damit komme ich klar.
|
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Eine weitere Frage in dem Zusammenhang:
Es hat sich herausgestellt, dass auf den Kundenrechnern teilweise ältere Java-Versionen vorhanden sind, mit denen das Mustangprojekt nicht klarkommt. Jetzt könnte ich natürlich die freie JRE mit deren Installations-Setup installieren. Dann trägt sie sich in den Environment-Path des Kundenrechners ein und sorgt so dafür, dass sie evtl. auch von anderer Software auf dem Kundenrechner verwendet wird, was ja nicht unbedingt gewollt wird. Am liebsten würde ich "meine" JRE mit einer eigenen Installations-Routine geräuschlos in meinen Programm-Ordner installieren und von da aus verwwenden. Dann wäre sie weitgehend unsichtbar für andere Programme und ich hätte die Sicherheit, dass meine Software funktioniert ohne eine passende JRE suchen und/oder einstellen zu müssen. Ist das legitim? Wenn das jeder macht, gibt es irgendwann sehr viele JREs auf dem Rechner, obwohl theoretisch eine reichen würde. Wie macht Ihr das? |
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Zitat:
So kannst Du sicherstellen, dass Dein Programm damit funktioniert und Du durch Deine Installation keine anderen Programme beeinflusst. Inzwischen ist Java auch recht modular aufgebaut, so dass Du eine "Custom Runtime" erstellen kannst, die nur die für Dein Programm benötigten Bibliotheken enthält und damit deutlich kleiner wird, als das allgemeine JRE. Es gibt entsprechende Anleitungen, z.B. bei Adoptium. Suche nach dem Begriff "jlink". Wenn Dein Programm in einem Netzwerk auf verschiedenen Arbeitsplätzen läuft, könnte es vielleicht interessant sein, den Java-Teil auszulagern auf einen Server und dort nur einmal zentral zu installieren, um das Mustangprojekt als Dienst aufzurufen. Nachdenken würde ich vielleicht noch über den Sicherheitsaspekt. Wenn Du die JRE mitlieferst, musst Du das natürlich im Auge behalten, wenn es sicherheitsrelevante Updates gibt. Installiert der Kunde die JRE selbst, wäre er verantwortlich für Updates. Aber wenn da sowieso schon ältere Versionen vorhanden sind, hat das beim Kunden bisher ja anscheinend nicht geklappt mit dem Aktualisieren :) Edit: Der Vollständigkeit halber hier noch der Link zur Anleitung bei Adoptium: ![]() Also mit jdeps schauen, was benötigt wird und mit jlink eine eigene JRE erstellen. |
AW: Wie geht man mit dem Java Runtime Environment um, wenn man .jar-Dateien ausführen
Alles klar, danke für den Tip
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz