wie meine externe jar-Datei in die Klasse Pfad
Ich bin neu in maven-Umgebung, müssen einige, zu helfen.
Hinzugefügt meine externen jar-Datei (directoryhelper.jar) in den lib-Ordner, wie unten in pom.xml
<dependency>
<groupId>com.test.directoryhelper</groupId>
<artifactId>DirectoryHelper</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/directoryhelper.jar</systemPath>
</dependency>
Kompilierung erfolgreich, aber während der Laufzeit bin ich immer
java.lang.NoClassDefFoundError.
wie Sie die directoryhelper.jar Klasse Weg.
- Wie werden Sie versuchen, zu laufen?
- nach dem Aufbau mit mvn clean install, installiere ich apk auf Handy, dann versuchen Sie den Zugriff aus dem browser.
- Okay, niemand sagte etwas über APKs 🙂 Wie wäre es mit einem tag?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Maven aus der box kommen mit einer JAR-Datei (Standard-Verpackung). Diese JAR-Datei enthält nur (
main
) Artefakte des Projekts. Wenn Sie nur und führen Sie es, klar die Abhängigkeiten fehlen-durch design.In der Regel Maven-Artefakte wiederverwendet werden, in Kombination mit Ihren POM, so dass am point-of-use es ist wissen, was sind die Abhängigkeiten. Edit: wenn Sie mit Truppentransportern und installieren Sie Sie auf einem Handy, kann es sein, Mechanismen zum Umgang mit Abhängigkeiten, ich bin der Beantwortung dieser lediglich aus einem Maven-Sicht.
Wenn Sie möchten, erstellen Sie eine JAR - mit Abhängigkeiten, die Sie haben, um zu sagen Maven zu tun, das ist nicht der Standard.
Möglichkeiten mit Maven zu tun, das sind (wahrscheinlich nicht vollständig):
Maven-Assembly-plugin,
jar-with-dependencies
vordefinierten Deskriptor:Maven-Shade-plugin
Diese Weise erschaffen Sie ein single-Glas in großen Abmessungen und build-Zeit groß sein wird, jedes mal, wenn Sie versuchen, zu bauen.
Ich stattdessen lieber das hinzufügen alle Gläser an einen lib-Ordner und im classpath (jar-manifest), weil, wenn wir etwas ändern oder umschichten an den Kunden oder an einen Ort, wir können geben Sie einfach ein kleines Glas (nicht alle Abhängigkeiten zusammengeführt, innerhalb jar)