Erstellen einer einfachen Java-Anwendung
Beginnen wir mit der Erstellung einer einfachen Java-Anwendung, die wir in eine JAR-Datei verpacken werden. Dies hilft uns, den Fehler 'no main manifest attribute' zu demonstrieren und später zu beheben.
Erstellen der Java-Klasse
Erstellen Sie zunächst ein Verzeichnis für unsere Java-Quelldateien und navigieren Sie dorthin:
cd ~/project/src/com/example
Öffnen Sie nun den Editor und erstellen Sie eine neue Datei namens HelloWorld.java
in diesem Verzeichnis:
- Klicken Sie auf das Symbol "Explorer" in der linken Seitenleiste der WebIDE.
- Navigieren Sie zu
/home/labex/project/src/com/example
.
- Klicken Sie mit der rechten Maustaste und wählen Sie "Neue Datei".
- Benennen Sie die Datei
HelloWorld.java
.
Fügen Sie der Datei HelloWorld.java
den folgenden Code hinzu:
package com.example;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Dies ist ein einfaches Java-Programm mit einer main
-Methode, die "Hello, World!" auf der Konsole ausgibt, wenn es ausgeführt wird.
Kompilieren der Java-Klasse
Kompilieren wir nun unsere Java-Klasse. Kehren Sie zum Terminal zurück und navigieren Sie zum Projektstammverzeichnis:
cd ~/project
Kompilieren Sie die Java-Datei mit dem Befehl javac
:
javac -d . src/com/example/HelloWorld.java
Dieser Befehl kompiliert die Java-Quelldatei und platziert die kompilierte Klassendatei in der entsprechenden Verzeichnisstruktur, basierend auf dem Paketnamen.
Sie sollten jetzt eine kompilierte Klassendatei unter ~/project/com/example/HelloWorld.class
haben. Sie können dies mit folgendem Befehl überprüfen:
ls -l com/example/
Die Ausgabe sollte die Datei HelloWorld.class
anzeigen:
total 4
-rw-r--r-- 1 labex labex 426 [date] HelloWorld.class
Erstellen einer einfachen JAR-Datei ohne Manifest
Erstellen wir nun eine JAR-Datei, ohne eine Hauptklasse im Manifest anzugeben. Dies ermöglicht es uns, den Fehler 'no main manifest attribute' zu reproduzieren:
jar cf HelloWorld.jar com/
Dieser Befehl erstellt eine JAR-Datei namens HelloWorld.jar
, die die kompilierte Klassendatei enthält.
Versuchen, die JAR-Datei auszuführen
Nachdem wir nun unsere JAR-Datei erstellt haben, versuchen wir, sie auszuführen:
java -jar HelloWorld.jar
Sie sehen die Fehlermeldung:
no main manifest attribute, in HelloWorld.jar
Dies ist der Fehler, den wir beheben lernen. Die JVM kann die Hauptklasse nicht finden, um sie auszuführen, da wir sie nicht im Manifest der JAR-Datei angegeben haben.