„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich den „NoClassDefFoundError“ in Maven beheben, wenn ich ihn über die Befehlszeile ausführe?

Wie kann ich den „NoClassDefFoundError“ in Maven beheben, wenn ich ihn über die Befehlszeile ausführe?

Veröffentlicht am 08.11.2024
Durchsuche:769

How can I resolve the \

Abhängigkeitsauflösung über Shade Plugin für NoClassDefFoundError

Bei einer ersten Erfahrung mit Maven kann es zu Inkonsistenzen zwischen Eclipse und der Befehlszeilenverwendung kommen Abhängigkeitsmanagement. Trotz erfolgreicher Maven-Projekterstellung und dem Hinzufügen von Abhängigkeiten in Eclipse kann die Ausführung des Projekts über die Befehlszeile zu einem NoClassDefFoundError führen.

Standardmäßig verpackt Maven Abhängigkeiten separat und schließt sie nicht in die kompilierte JAR-Datei ein. Diese Auslassung führt dazu, dass die Java VM beim Versuch, Bibliotheksklassen während der Ausführung zu finden, fehlschlägt.

Anstatt Bibliotheken manuell zum Klassenpfad hinzuzufügen, bietet das Maven-Shade-Plugin eine effizientere Lösung. Es erstellt ein „Über-JAR“, das Anwendungsklassen mit erforderlichem Bibliothekscode kombiniert.

Um dies zu implementieren, fügen Sie die folgende Plugin-Konfiguration zu Ihrem POM hinzu:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.5.2</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Führen Sie nach dem Hinzufügen dieser Konfiguration die folgenden Befehle erneut aus:

$ mvn package
$ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App

Für erweiterte Konfigurationsoptionen, wie die Angabe enthaltener JARs oder einer ausführbaren JAR-Datei, Weitere Informationen finden Sie im Abschnitt „Beispiele“ auf der Maven-Shade-Plugin-Website.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3