Maven kein Hauptmanifestattribut

HerrInfo

Mitglied
Hallo zusammen! Ich bin es noch einmal. Mein Tower-Defense-Spiel ist jetzt fertig, und ich versuche, eine ausführbare JAR-Datei zu erstellen. Ich habe mein Projekt mit Maven umgesetzt und erstelle die JAR-Datei über das Maven-Jar-Plugin Version 3.3.0. Wenn ich diese ausführe, wird mir jedoch angezeigt, dass kein Hauptmanifestattribut vorhanden ist. In meinem MANIFEST.MF-Datei steht jedoch folgendes:
Code:
Manifest-Version: 1.0
Main-Class: net.tim.core.Main
Was muss ich ändern, um die JAR-Datei ausführen zu können? PS: Wenn ich die JAR-Datei über ein Artefakt erstelle, werden die Bilder aus dem Ressourcenordner nicht geladen.
 

KonradN

Super-Moderator
Mitarbeiter
Du musst uns schon mehr Details geben. Bei Maven Projekten wäre es super, einfach einmal die pom.xml zu posten.

Und zur Fehlersuche wäre die Frage: Wo in dem JAR liegt z.B. deine MANIFEST.MF?
Wenn ich die JAR-Datei über ein Artefakt erstelle, werden die Bilder aus dem Ressourcenordner nicht geladen.
Sind diese denn in dem JAR? Wenn nicht, dann musst Du das Artefakt anpassen, damit die Bilder auch im JAR sind. Und wie lädst Du die Bilder im Code?
 

HerrInfo

Mitglied
pom.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.tim</groupId>
    <artifactId>BaseDefence</artifactId>
    <version>1.1</version>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

Ein Bild liegt im resources folder und wird wie folgt geladen:
Java:
this.icon = new ImageIcon("src/main/resources/slime.png");

Bei den Artifacts habe ich nur standartmäßig ein artifact anlegen lassen:
Code:
<component name="ArtifactManager">
  <artifact type="jar" name="BaseDefence:jar">
    <output-path>$PROJECT_DIR$/out/artifacts/BaseDefence_jar</output-path>
    <root id="archive" name="BaseDefence.jar">
      <element id="module-output" name="BaseDefence" />
    </root>
  </artifact>
</component>
 

KonradN

Super-Moderator
Mitarbeiter
Also in der pom hast Du gar keinen Hinweis bezüglich Manifest. Daher hast Du da auch nicht das, was Du erwartest denke ich mal.
Damit du mit Maven ein ausführbares JAR bekommst, musst Du da entsprechend die Konfiguration einfügen. Per maven-jar-plugin könntest Du das so machen:
(Abschnitt: Make The JAR Executable)

Und der Zugriff ist so falsch. Da versuchst du ja eine Datei zu laden, die vom Arbeitsverzeichnis aus unter src/main/resources/ zu finden ist. Das geht natürlich nur, Wenn Du diese Verzeichnisstruktur hast und das Arbeitsverzeichnis genau an der Stelle ist. Die Dateien aus src/main/resources werden aber mit in das Jar kopiert und du kannst da dann zugreifen z.B. per getClass().getResourceAsStream("/slime.png"). Das gibt ein ImageStream zurück, den Du an ImageIcon geben kannst.

Das Erzeugen der Artifakte würde ich ignorieren - Du willst doch mit Maven arbeiten denke ich, also sollte alles in Maven erfolgen.
 

HerrInfo

Mitglied
Also Images wie folgt laden?:
Java:
try {
     this.icon = new ImageIcon(Objects.requireNonNull(getClass().getResourceAsStream("/slime.png")).readAllBytes());
}catch (Exception e){
     throw new RuntimeException("Could not load slime image");
}

Und den pom.xml so?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.tim</groupId>
    <artifactId>BaseDefence</artifactId>
    <version>1.1</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.3.0<version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>net.tim.core.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

Wenn ich so eine jar erstelle kommt aber folgendes:
Code:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< net.tim:BaseDefence >-------------------------
[INFO] Building BaseDefence 1.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- jar:3.3.0:jar (default-cli) @ BaseDefence ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: C:\Informatik\Projekte\Java\BaseDefence\target\BaseDefence-1.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.308 s
[INFO] Finished at: 2024-03-13T15:09:24+01:00
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0
 

KonradN

Super-Moderator
Mitarbeiter
Wie sieht denn die ganze Struktur aus? Hast Du die pom im Hauptverzeichnis deines Projekts und da dann src/main/java und src/main/resources?

Das klingt so erst einmal alles danach, dass Du da generell etwas nicht ganz stimmig hast.

Lass mal ein mvn clean package laufen und zeig die komplette Ausgabe.
 

HerrInfo

Mitglied
Clean:
Code:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< net.tim:BaseDefence >-------------------------
[INFO] Building BaseDefence 1.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ BaseDefence ---
[INFO] Deleting C:\Informatik\Projekte\Java\BaseDefence\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.146 s
[INFO] Finished at: 2024-03-13T16:55:25+01:00
[INFO] ------------------------------------------------------------------------

Package:
Code:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< net.tim:BaseDefence >-------------------------
[INFO] Building BaseDefence 1.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ BaseDefence ---
[INFO] Copying 8 resources from src\main\resources to target\classes
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ BaseDefence ---
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 19 source files with javac [debug target 21] to target\classes
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ BaseDefence ---
[INFO] skip non existing resourceDirectory C:\Informatik\Projekte\Java\BaseDefence\src\test\resources
[INFO]
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ BaseDefence ---
[INFO] Changes detected - recompiling the module! :dependency
[INFO]
[INFO] --- surefire:3.1.2:test (default-test) @ BaseDefence ---
[INFO]
[INFO] --- jar:3.3.0:jar (default-jar) @ BaseDefence ---
[INFO] Building jar: C:\Informatik\Projekte\Java\BaseDefence\target\BaseDefence-1.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.147 s
[INFO] Finished at: 2024-03-13T16:59:27+01:00
[INFO] ------------------------------------------------------------------------

1710345669779.png
 

HerrInfo

Mitglied
Wenn ich die jar ausführe kommt folgender Fehler:
Java:
Exception in thread "main" java.lang.RuntimeException: Could not load slime image
        at net.tim.entity.Slime.<init>(Slime.java:22)
        at net.tim.wave.WaveManager.generateWaveList(WaveManager.java:57)
        at net.tim.wave.WaveManager.<init>(WaveManager.java:17)
        at net.tim.gui.GamePanel.<init>(GamePanel.java:36)
        at net.tim.gui.Frame.<init>(Frame.java:14)
        at net.tim.core.Verwaltung.<init>(Verwaltung.java:8)
        at net.tim.core.Main.main(Main.java:6)
Wenn ich das Programm in der IDE ausführe nicht.
 

KonradN

Super-Moderator
Mitarbeiter
Das sieht doch schon einmal gut aus - Projekt und jar sind soweit korrekt. Jetzt kommen halt nur noch Fehler im Code.

Bei Ressourcen muss man auch auf Gross-/Kleinschreibung achten. Du versuchst ein slime.png zu laden, aber es ist ein Slime.png. Also beim Aufruf auch /Slime.png laden und der Fehler sollte dann weg sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4
C Kleines Problem mit Maven und Resourcen. Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben