Java Programm ausführen ohne Java?
Hallo,
Ich habe ein Java Programm geschrieben. Das Problem ist, dass das Programm in Java 20 geschrieben ist und kein Mensch Java 20 installiert hat weshalb mein Programm bei den meisten nicht funktionieren würde. Was würdet ihr mir empfehlen zu machen?
2 Antworten
Nutzt du denn Sprachfeatures, die Java 20 voraussetzen? Wenn nein, nimm einfach die letzte LTS-Version - Java 17.
Oder 11 oder 8, wenn du das willst. 11 hat noch aktiven Support für 3 Monate, sonst bekommen beide noch Updates durch den Security Support - 11 für 3 Jahre, 8 für 7 Jahre
aber es beantwortet nicht direkt meine Frage haha
Doch, tut es. Ich zitiere dich:
Was würdet ihr mir empfehlen zu machen?
Und meine Antwort noch einmal umgeschrieben:
Überlege dir, ob du wirklich Java 20 brauchst, oder nutze eine ältere Java-Version, die optimalerweise noch Support erhält (aka LTS-Versionen 17, 11 oder 8)
Achso ja ups. Aber hättest du mir trotzdem noch andere Tipps? Ich habe schon Java Programme gesehen die zu einer exe konvertiert wurden und beim starten dann je nachdem gemeckert haben, dass man nicht die richtige Java Version installiert hat mit einem Link der zur Oracle Seite führt. An sowas denke ich eher, habe aber kein plan wie das geht
https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
Das könnte für dich interessant sein.
Alternativ einfach mal google nutzen, z.B. https://stackoverflow.com/questions/13996547/how-do-i-bundle-a-jre-into-an-exe-for-a-java-application-launch4j-says-runtime
Ebensowenig hat eine normale Person Java 17 oder Java 11 installiert. Die Antwort geht also komplett an der eigentlichen Frage vorbei.
Was er braucht ist ein Bundle von Programm + Java, wie es z.B. bei Minecraft der Fall ist. Dass Java einfach mit dem Programm mitgeliefert wird.
Du kannst ein Java Programm nicht ohne Java Umgebung ausführen. Was du machen kannst ist eine JRE (Java Runtime Environment) mit deinem Programm bundeln, eine ältere Java Version nutzen zum compilen, dann musst du halt auf neuere Features verzichten.
Wie meinst du das? Eine JRE mit meinem Programm bundeln?
Bin mir gar nicht so sicher. Danke auf jeden Fall für die Antwort aber es beantwortet nicht direkt meine Frage haha