Java exe erstellen

A

Alexaa

Gast
Ich will eine Jave Datei erstellen habe aber probleme beim ausführen.
Also ich gehe wie folgt vor als erstes schreibe ich den quellcode im Texteditor danach ändere ich die endung auf ".java"
Danach starte ich die Konsole und tippe ein : "javac "Dateiname".java"
und denn tippe ich ein "java"Dateiname" , in meinen Buch steht drin danach solte sich die datein öffnen macht sie aber nicht es steht bloß da " Fehler: Hauptklasse "Dateiname" konnte nicht gefunden oder geladen werden" , im buch steht auch drin das ich die .exe im /bin ordner finden kann.
Jetzt ist meine frage was mache ich falsch , kann mir jemand helfen und eins noch in benutzte Ubunto 16.04 und das übersetzten des Compilers ging ohne Probleme.
 
Muss das nicht erstmal compiliert werden und liegt dann als was Startbares vor. *.JAR, z.b.
 
Also ich wandel es mit der Konsole in dem bytecode um und wie kann ich es den ausführen ?
Quasi das ich den ein endgültiges Programm habe.
 
Also mal konkrete Kommandos, um Fehler auszuschließen (du stehst in einem Verzeichnis neben der Test.java):
Code:
javac Test.java
Kompiliert den Quellcode zu Bytecode.
Code:
java Test
Führt den kompilierten Code (.class-Datei) aus.
Code:
jar cfe Test.jar Test Test.class
Erzeugt ein ausführbares Java-Archiv (JAR) namens Test.jar, mit der Klasse Test als Einstiegspunkt.
Code:
java -jar Test.jar
Führt ausführbares JAR aus. Funktioniert außerhalb der Konsole oft auch mit Doppelklick, je nach Setup des Betriebssystems. Ansonsten baust du dir eine Verknüpfung bzw. ein Shell-Script, was die oben genannte Zeile mit -jar ausführt.
 
Beim zweiten , zeigt er mir immer an : "Fehler : Hauptklasse "Dateiname" konnte nicht gefunden oder geladen werden"
Was mache ich falsch?
 
Das kann man dir, ohne den Code zu sehen, wohl nicht beantworten. Heißt die Klasse wie die Datei (Groß-/Kleinschreibung beachten) und ist sie public?
 
puplic class HalloWelt {
puplic static void main (String args[] {
System.out.println("Hallo Welt");
}
}

Dieser ganz simple code , wollte mich bloß mal so ein bißchen ausprobieren.
Unter Linux komme ich zum codieren in dem Bytecode , aber unter Windows(10) komme ich nicht mal zum Coderien in den bytecode
er zeigt mir jedes mal die fehlermeldung : "Der Befehl "javac" ist entweder falsch geschrieben oder
konnte nicht gefunden werden."...ich hab java installiert alle packete ich versteh es nicht ?!
 
Du musst den Pfad zur Java-Installation unter Windows zur Umgebungsvariable "PATH" hinzufügen. Anleitungen findest du im Netz.


Dein Code ist defekt. Ersetze mal "puplic" mit "public". Auch die Signatur der Methode ist kaputt.

Beispiel:
Code:
public class Test {

        public static void main(String[] args) {
                System.out.println("test");
        }

}
 
Ich würde dir empfehlen, mal nach einen Editor Ausschau zuhalten der eine anständige syntax highlighting besitzt, aus eigener Erfahrung kannst du so sehr viele Frustmomente umgehen.
 
Hast Du ein Java JRE installiert? javac ist Teil des JDK.

Ansonsten probiere aus, was Tumbleweed gepostet hat. Vielleicht bist Du im falschen Verzeichnis? Könnte man ggf. durch Angabe des Klassenpfades umgehen, aber für den Anfang sind die genannten Schritte am einfachsten.
 
Also ich habe die Umgebungsvariable jetzt anders gesetzt.
sz5ixpk6.jpg
Als erstes unten Path ausgewählt und denn auf bearbeiten geklickt
und den ganz unten den letzten eintrag (im 2 Bild) hinzugefügt ist das so richtig ?
Unbenannt2.jpg

Und ich habe bei Java Packete Installiert.
 
Das erkennst du am besten daran, ob du eine Ausgabe der Java-Version bekommst, wenn du in der Konsole "javac -version" eingibst. Nur dann war Windows in der Lage den Pfad zum JDK zu finden.
 
Er zeigt immer an wenn ich Java und den Datei Namen ein tippe das die Hauptklasse nicht gefunden oder geladen werden konnte ..
Warum geht es nicht ?
Und der Code ist richtig hab in eins zu eins kopiert und bei javac -Version zeigt er mir was an , also war das schon mal richtig .
 
Weil in deiner .jar das Hauptmanifest fehlt oder leer ist würde ich mal behaupten, falls du deinen Code angepasst hast wie weiter oben geschrieben wurde.
"puplic" kennt Java nämlich nicht.
Ansonsten öffne die jar mit Winrar oder was auch immer und trage in der Manifestdatei mal den Namen der Hauptklasse in dem Fall "Test".
Näheres findest auch in Google.
 
public class HalloWelt
{
public static void main (String args[])
{
System.out.println("Hallo Welt!");
}
}

Nein der Code ist richitg , könnte es Vieleicht mit der Umgebungsvariablen zusammenhängen es funktioniert einfach nicht.

Ich hab die eine Variable ausversehen gelöscht : "C:\Program Files\Common Files" weiß jemand wie der Pfad weitergeht ?
 
Alexaa schrieb:
Beim zweiten , zeigt er mir immer an : "Fehler : Hauptklasse "Dateiname" konnte nicht gefunden oder geladen werden"
Was mache ich falsch?

Du musst die Code-Datei schon "HalloWelt.java" nennen und nicht "Dateiname.java" ;-)
 
Dateiname war ja bloß das Beispiel das ich genommen habe , es ist mir schon bewusst das ich es genauso nennen muss.
 
Dann hast du dich irgendwo verschrieben. Zeig doch mal den Code und was die Konsole bei javac und java ausspuckt.
 
Alexaa schrieb:
Nein der Code ist richitg , könnte es Vieleicht mit der Umgebungsvariablen zusammenhängen es funktioniert einfach nicht.

Ich hab die eine Variable ausversehen gelöscht : "C:\Program Files\Common Files" weiß jemand wie der Pfad weitergeht ?

Mit den Umgebungsvariablen musst du vorsichtig sein, da kannst du wenn du das falsche löscht den ganzen PC plätten.
Ich kann dir für die ersten Schritte BlueJ empfehlen. Hier steht, wie du das installierst und die JDK einbindest.
Und hier kannst du das Programm downloaden.

Viel Erfolg!
 
Ich rate Anfängern von einer IDE ab, die die ganze Arbeit abnimmt. Man sollte imho erst verstanden haben, dass der Java-Code in Bytecode kompiliert wird, und dieser von der JVM bzw. dem Java Interpreter ausgeführt wird.

Ich vermute, als Alexaa gesagt hat, es käme eine "... nicht gefunden"-Meldung, meinte er, dass der Java-Compiler / -Interpreter nicht gefunden wurde.

@Alexaa:
Hast du mittlerweile sowohl das JDK, als auch das JRE installiert?
 
Zurück
Oben