Aus Java-Quellcode eine executable Datei erstellen (IntelliJ)?
Hallo,
wie erstelle ich mit diesem Quellcode (siehe weiter unten) in der IntelliJ IDE eine ausführbare Datei (.exe) ?
Sämtliche Erklärvideos oder Beiträge von Java-Dateien zu exe-Dateien haben mir hierfür nicht weitergeholfen.
In der cmd.exe (Eingabeaufforderung, hinter dem Promt) funktioniert die simple Anwendung über den Befehl java Lohnrechner3 einwandfrei. Allerdings suche ich nach einer Möglichkeit daraus eine App zu erstellen das sich per doppelklick in einem eigenen Fenster öffnet, den Bruttolohn abfragt und wie im Quellcode zu sehen die Beiträge ausrechnet.
import java.util.Scanner;
public class Lohnrechner3 {
public static void main(String[] args) {
double zahl;
Scanner scan = new Scanner(System.in);
System.out.print("Geben Sie hier Ihren Bruttolohn ein: ");
zahl = scan.nextDouble();
double lohn = (0);
System.out.println("Bruttolohn = " + lohn);
double lohnsteuer = 0.16 * lohn;
System.out.println("Lohnsteuer = " + lohnsteuer);
double krankenversicherung = 0.0765 * lohn;
System.out.println("Krankenversicherung = " + krankenversicherung);
double rentenversicherung = 0.0995 * lohn;
System.out.println("Rentenversicherung = " + rentenversicherung);
double arbeitslosenversicherung = 0.021 * lohn;
System.out.println("Arbeitslosenversicherung = " + arbeitslosenversicherung);
double pflegeversicherung = 0.011 * lohn;
System.out.println("Pflegeversicherung = " + pflegeversicherung);
double solidaritaetszuschlag = 0.055 * lohnsteuer;
System.out.println("Abzuege prozentual von der Lohnsteuer - Solidaritaetzuschlag = " + solidaritaetszuschlag);
double kirchensteuer = 0.08 * lohnsteuer;
System.out.println("Abzuege prozentual von der Lohnsteuer - Kirchensteuer = " + kirchensteuer);
double nettolohn = lohn - lohnsteuer - krankenversicherung - rentenversicherung - arbeitslosenversicherung - pflegeversicherung - solidaritaetszuschlag - kirchensteuer;
System.out.println("Nettolohn = " + nettolohn);
}
}
Was in der Eingabeaufforderung nach dieser Eingabe erscheint : Prompt/Verzeichnis java Lohnrechner3:
Geben Sie hier Ihren Bruttolohn ein: 10000
Bruttolohn = 0.0
Lohnsteuer = 0.0
Krankenversicherung = 0.0
Rentenversicherung = 0.0
Arbeitslosenversicherung = 0.0
Pflegeversicherung = 0.0
Abzuege prozentual von der Lohnsteuer - Solidaritaetzuschlag = 0.0
Abzuege prozentual von der Lohnsteuer - Kirchensteuer = 0.0
Nettolohn = 0.0
Liebe Grüße
3 Antworten
Mit Java erstellt man normalerweise* keine ausführbaren double-click-exe-Dateien. Das, was bei Java rausspringt, sind entweder .class-Dateien (kompilierte* Klassen) oder .JAR-Dateien (Archive mit mehreren kompilierten Klassen + Bonus).
In IntelliJ gibt es sicher einen Weg, um aus deinem Code eine JAR-Datei zu erstellen (alternativ über ein Werkzeug wie Maven). Verknüpfst du dann in deinem Betriebssystem JAR-Dateien mit der entsprechenden Java-Laufzeitumgebung (JRE), kannst du diese JAR-Dateien über die JRE "starten". Alternativ über die Kommandozeile:
java -jar "Dateiname.jar"
Dass Java keine exe-Dateien erzeugt, liegt daran, dass die Technologie dahinter es nicht erlaubt, sie ohne die JRE auszuführen: Du brauchst zwingend auch eine JRE, um Java-Programme zu starten. exe-Dateien sind selber lauffähig. Eine JRE kannst du z.B. hier herunterladen.
*prinzipiell gibt es Techniken, mit denen man es hinbekommt. Das würde aber an dieser Stelle zu weit führen und ist auch nicht für Anfänger geeignet.
Das könnte man prinzipiell über einen Launcher lösen, der dafür da ist, die eigentliche Anwendung zu updaten.
Hey Mendozaa,
Mit der IntelliJ IDEA kannst du deinen Code zu einer Executable Jar kompilieren. Danach mit einem externen Programm zu einer ".EXE". Aber wieso eigentlich? Du kannst auch .JAR Dateien mit einem Doppelklick/per Eingabeaufforderung ausführen.
Hey 7static,
ich bin noch Anfänger, fange bald ein Studium an und muss davor noch die Grundlagen in Java lernen.
Was mir dazu noch fehlt ist das Wissen, wie ich aus dem geschriebenen Code in der IDE Programme die sich per doppelklick in Windows öffnen lassen erstellen kann (auch für zukünftige "sinnvollere" und "komplexere" Programme).
Wieso das ganze?
Ich würde einfach gerne wissen wie ich solche Programme für Anwender benutzerfreundlich gestalte (ohne Konsole, da insbesondere ältere Anwender da schon aussteigen).
für ältere anwender programmiert man es gar nciht in java . sondern nutz gleich das was das zielsystem bietet .
wie gesagt, der weg ist einfach falsch , den java muss auch mal geupdatet werden . du würdest im schlimmsten fall also fehlerhafte sachen fertig compilieren .
du erzeugst also unsichere software ohne das sich der user wehren kann :)
ja ne , also wenn dir die bisherigen erklärungen nichts bringen , werde ich dir nix neues erzählen können .
der sinn entgeht mir auch . wer windows hat , kann doch java installieren . oder du lieferst eine redistributable java install mit (wenns erlaubt ist) . machst ein installer und dann eine batch zum starten (bzw einen link) oder ein start client .
im Rahmen meines Studiums das bald anfängt muss ich einen Crashkurs in Java machen. Bei all dem was in den Onlinevorträgen zu lernen ist fehlt mir einfach die Erklärung wie ich daraus eine einfache ausführbare Anwendung mache (würde ich gerne auch für zukünftige Programme wissen).
Zumal beispielsweise meine Eltern niemals eine solche Anwendung über die Konsole starten und ausführen würden.
selbst wenn man das java irgendwie mit compiliert, so kann es nicht geupdatet werden und ist software die praktisch veraltet und unsicher werden könnte .