Maven Lauffähige exe mit JRE erstellen. Mögliche Wechselwirkung mit bereits installierter JRE ?

Ernesto95

Bekanntes Mitglied
Moin zusammen,

ich möchte mir ein paar kleine Hilfsprogramme für meine Arbeit schreiben und habe dazu prinzipiell 2 Fragen:

1. Wie kann ich aus einem Maven Projekt unter Linux eine lauffähige exe für ein Windows System erstellen ? Ich habe keinen Zugriff auf einen Windows Rechner. KI schlägt mir Launch4J oder jpackage vor. Was würdet ihr empfehlen ?

2. Kann es durch die mit meiner exe mit ausgelieferte JRE zu irgendwelchen Wechselwirkungen mit einer bereits auf dem Windows System installierten JRE kommen ? Oder läuft meine exe mit der integrierten JRE in einer sandbox? Hintergrund ist das unsere Speditionssoftware ebenfalls in Java programmiert ist, auf einer vom Hersteller angepassten JRE läuft und das ich hier auf keinen Fall etwas zerschießen darf.

Dank euch !

Schönes WE ! 😎
 
Zu 1: Ich würde Dir zu JPackage raten. Was dazu notwendig ist, kannst Du in meinen beiden GitHub Template Projekten im Profil image sehen.

Für die Windows Binaries braucht es aber einen Windows Rechner. Hier sehe ich zwei Möglichkeiten:
Wenn Du einen Service wie GitHub, GitLab, ... nutzt, dann kannst Du dort sogenannte Worker nutzen. Damit solltest Du in der Lage sein, es auf Windows übersetzen zu lassen. Die Alternative ist, dass Du einen Windows Rechner auf Arbeit nutzt.

zu 2. Nein, da kann es zu keinen Problemen kommen. Du installierst halt kein JDK oder JRE (was ggf Dinge mitbringen würde wie Registry Keys oder PATH Anpassungen). Es darf einfach nur auf dem System liegen. Das wäre also z.B. ein Herunterladen eines ZIP Files mit dem gewünschten JDK um dieses dann irgendwo zu entpacken. Ich habe dann so Batch Dateien wie:

Code:
@echo off
SET JAVA_HOME=c:\APPS\jdk.......
SET PATH=%JAVA_HOME%\bin;%PATH%

Und das nutze ich dann auf der Eingabeaufforderung ehe ich das Java brauche (z.B. für einen Build Prozess).

Das Übersetzen auf Arbeit kann natürlich problematisch sein (z.B. kein Zugriff auf Maven Repositories oder so). Da kann man aber oft auch Lösungen finden (z.B. Reposilite als Cache nutzen). Da aber einfach Probleme benennen und dann kann man diese bestimmt angehen / lösen.
 

Zurück
Oben