Java-Programm weitergeben

Goldinho

Aktives Mitglied
Irgendwie blicke ich es nicht, obwohl ich mich schon einigermaßen umgetan habe, vielleicht erbarmt sich einer und klärt mich ein bisschen auf.
Ich möchte ein Programm weitergeben und frage mich, was dazu nötig ist, dass es auf den verschiedenen Zielsystemen ausführbar ist.

Ich habe das Programm mit Eclipse und JDK 13 geschrieben, wobei ich in den Einstellungen inzwischen von SE12 auf SE9 runtergegangen bin.
Das Programm habe ich als ausführbare Datei exportiert und entweder als Jar oder per Launch4j als Exe gestartet.

Das funktioniert soweit ganz gut, allerdings nur, wenn auf dem Zielsystem auch das JDK installiert ist, aber NICHT, wenn nur eine normale Java SE installiert ist, wie bei den meisten Otto-Normal-Usern. Ich kann aber doch nicht von jedem, dem ich das Programm mal zum Testen geben will, erwarten, dass er sich das ganze Development-Kit installiert.

1. Frage: Wie schaffe ich es, dass es einfach mit einer aktuellen (oeder auch weniger aktuellen) Java-SE-Version läuft, also ohne JDK?

2. Frage: Wie schaffe ich es, das Programm zu einer ausführbaren Datei mit eigenem Icon für MacOS zu machen?

Danke für sachdienliche Hinweise ;)
Gruß Christian
 

httpdigest

Top Contributor
K

kneitzel

Gast
Bezüglich macOS:
Launch4j sollte das doch können meine ich. Das würde ich mir an Deiner Stelle im Detail ansehen.

Und bezüglich JRE:
So Du nichts spezielles nutzt, dass ein JDK voraussetzt (ist meistens der Fall), dann sollte es auch mit einem JRE laufen. Das Problem, das Du hier evtl. mitbekommen hast ist, dass es teilweise kein eigenständiges JRE mehr gibt.
Daher: Wenn Du Java 9 voraussetzt, dann müssen das die Anwender auch installieren. Und das musst Du halt einfordern.
 

Goldinho

Aktives Mitglied
Wenn also irgendwelche Entwickler oder Firmen kommerzielle Java-Programme anbieten, haben die dann immer gleich die JRE mit dabei, also als "self contained application packaging"? Oder wurden die dann nach C bzw. in Maschinensprache konvertiert?
 

httpdigest

Top Contributor
Alle End-User Programme, die tatsächlich in Java (oder einer anderen JVM-Sprache) geschrieben sind, haben immer ein JRE mit paketiert. Z.B. OpenOffice oder Minecraft.
 
K

kneitzel

Gast
Unter dem Link lädt man das JRE von Java 8. Damit kannst Du Java 9+ Applikationen nicht ausführen.
("Empfohlen Version 8 Update 241 (Dateigröße: 73.29 MB)")

Das ist das, was ich gemeint habe. Wenn man sich ein OpenJDK anschaut, z.B. von Azul, dann findet man da auch aktuelle JREs.
==> https://www.azul.com/downloads/zulu-community/?&os=&os=windows&architecture=x86-64-bit&package=jre

Bezüglich der Idee, das JRE mitzugeben: Da muss man dann schauen, dass man eine Version hat, die das erlaubt. Diese Redistribution habe ich bei Azuls Zulu Community bisher nicht geprüft. Aber es wird bestimmt OpenJDKs geben, die dies erlauben sollte es da nicht erlaubt sein ...
 

Thallius

Top Contributor
Oder einfach mit Java 8 entwickeln. Das ist heute fast überall installiert. Alles neuere hat halt keiner. Ehrlich gesagt braucht das auch keiner.
 

httpdigest

Top Contributor
Das ist heute fast überall installiert.
Wo sollte das denn installiert sein? Es ist ja nicht so, als käme es vorinstalliert mit einer Distribution irgendeines der gängigen Betriebssysteme (Windows, Ubuntu/Debian, Mac OS) mit. Ein Endbenutzer muss sich aktiv dazu entscheiden, sich jetzt Java zu installieren, was keiner von sich aus machen wird, es sei denn, er ist eben Entwickler oder testet z.B. ein Programm eines Bekannten, der selber Entwickler ist.
Die Marktdurchdingung von Java im Desktop-Endanwenderbereich als standalone installierte Systemkomponente (und nicht als Redistributable von anderen Programmen) ist vermutlich bei ziemlich null. Java ist primär eine Server- und zum kleinen Teil Desktop-Technologie (Swing, JavaFX) für Unternehmen intern.
Ich finde, das schlimmste für einen PC-Benutzer ist es, Java systemweit installiert zu haben und sich immer um dessen Aktualisierung zu kümmern, da Java aufgrund der früher aufkommenden Sicherheitslücken einen eher schlechten Ruf im Endanwendungerbereich hat.
Und ehrlich, als Endanwendung will ich eigentlich überhaupt gar nichts mit der Technologie zu tun haben, mit der eine Anwendung entwickelt wurde. Das verwirrt nur. Ich stelle mir nur mal vor, Anwendungen würden von mir auch verlangen, von Microsoft das VC++ Runtime Redistributable in der Version 2017 oder 2018 oder 2019 herunterzuladen und zu installieren, weil die Anwendung nunmal in C++ mit Microsofts C++ Runtime entwickelt wurde. Sowas einem Endanwender auf die Nase zu binden, erscheint wenig sinnvoll. Die Installer solcher Programme haben solche Runtimes als Redistributables paketiert und installieren diese während des Installationsprozesses des Programmes selbst.
 

Thallius

Top Contributor
Mein Gefühl sagt mir, dass du das auch für Java 1.2, 1.3, 1.4, 1.5, 1.6 & 1.7 gesagt hast :p

nicht ganz. Nur für Java 6 das war davor das meist genutzte

Aber mal ehrlich. Wenn ich eine Applikation schreibe wo ich nicht selber die Umgebung bestimmen kann wo sie läuft, dann benutze ich doch nicht die neuste Version sondern die, welche am meisten Akzeptanz bei den Usern hat.

Und ich wüßte ehrlich gesagt auch nicht, was Java 12 jetzt bietet das ich als Entwickler brauche
 
K

kneitzel

Gast
Also mir gefällt die Idee am Besten, dass man die JRE mit gibt oder eben ein Installer hat, der die JRE bei Bedarf nach lädt.

Aber JRE 8 würde ich explizit NICHT nutzen. Durch die veränderten Lizenzbedingungen von Oracle sorge ich dafür, dass diese
a) eine veraltete Version nutzen, die noch unter der alten Lizenz steht (Sorry, aber welcher Kunde hat das zur Hand?)
b) Lizenzpflichtig werden

Also ich sehe diese Punkte als kritisch an und ich würde daher keinen Grund sehen, eben nicht die aktuelle LTS Version zu nehmen.
 

mihe7

Top Contributor
Und ich wüßte ehrlich gesagt auch nicht, was Java 12 jetzt bietet das ich als Entwickler brauche
Kommt natürlich immer darauf an, was man macht und ggf. wie. Mal eine Auswahl von netten Dingen:

Java 9: Factory-Methoden für Collections, Streams takeWhile, private Methoden in Interfaces, HTTP/2, UTF-8 kodierte ResourceBundles
Java 10: var, verbesserte Startzeiten, bessere Docker-Integration
Java 11: Main-Klassen starten, ohne vorher zu kompilieren, TLS 1.3, HTTP Client
Java 12: switch-Expressions
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
X Java Programm MacOS Java Basics - Anfänger-Themen 1
F Java Programm schließen Java Basics - Anfänger-Themen 1
M Java Methode editierbar machen im Programm Java Basics - Anfänger-Themen 62
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
J Java Programm Java Basics - Anfänger-Themen 29
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
L Java Zip-Programm Java Basics - Anfänger-Themen 16
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
B Brauch Hilfe für Java Programm Java Basics - Anfänger-Themen 12
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
L Java-Programm kompilieren Java Basics - Anfänger-Themen 24
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
M Java Programm: Lottozahlen Java Basics - Anfänger-Themen 4
I Java Programm Java Basics - Anfänger-Themen 12
F Java Programm öffnen Java Basics - Anfänger-Themen 3
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
J Pdf-Dokument im Java-Programm öffnen Java Basics - Anfänger-Themen 3
M Chat Programm in Java Java Basics - Anfänger-Themen 1
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
T CMD mit Java Programm öffnen? Java Basics - Anfänger-Themen 5
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
G Input/Output CSV-Datei über Java-Programm erstellen, Zeichensalat Java Basics - Anfänger-Themen 3
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
? Methoden Fehler in einfachem Java Programm. Java Basics - Anfänger-Themen 9
T Selbst erstellten Dateityp mit java Programm assoziieren? Java Basics - Anfänger-Themen 4
S Programm wie Java? Java Basics - Anfänger-Themen 10
M C++ programm (kompiliertes) aus java aufrufen Java Basics - Anfänger-Themen 7
A Eclipse - Java-Programm exportieren für Ubuntu TLS 10 Java Basics - Anfänger-Themen 9
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
P Probleme Java Programm Java Basics - Anfänger-Themen 6
MiMa Lauffähiges Java Programm erstellen Java Basics - Anfänger-Themen 4
J C++ Bitmanipulations-Programm in Java umwandeln Java Basics - Anfänger-Themen 10
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Externes Java Programm starten Java Basics - Anfänger-Themen 9
D Java Programm auf Kommandozeile durchführen Java Basics - Anfänger-Themen 12
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
P Java Programm in Powerpoint Java Basics - Anfänger-Themen 5
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
U Java-Programm auf einem Server starten Java Basics - Anfänger-Themen 33
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
P Java Programm von außen aufrufen Java Basics - Anfänger-Themen 8
D Java programm durch vorgegebene bat ausführen Java Basics - Anfänger-Themen 3
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
S Interpreter-Fehler Java - Programm ausführen! Java Basics - Anfänger-Themen 12
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
T Mac OSX - Programm aus Java öffnen Java Basics - Anfänger-Themen 3
H Wie kann ich offline ein Java Programm abspeichern Java Basics - Anfänger-Themen 14
U Visual-Basic Programm mit Java steuern Java Basics - Anfänger-Themen 8
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
J Java-Programm starten Java Basics - Anfänger-Themen 6
C java programm mit Texten, speichern und so Java Basics - Anfänger-Themen 3
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3
B Java-Programm-Dienst sauber beenden Java Basics - Anfänger-Themen 6
P Java Programm geschrieben ... und nun? Java Basics - Anfänger-Themen 11
W Java Programm abändern Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben