[JAVA] Dinge, die zu beachten sind, wenn der Abhängigkeit Krieg hinzugefügt wird

Beachten Sie, dass ich beim Versuch, das Kriegsprojekt zur Abhängigkeit hinzuzufügen, gestolpert bin.

Beispiel 1, das nicht funktioniert

Kriegsprojekt (gebrauchte Seite)

pom.xml


...
<groupId>hoge</groupId>
<artifactId>war-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
...

Hauptprojekt (Benutzerseite)

pom.xml


...
<dependencies>
    <dependency>
        <groupId>hoge</groupId>
        <artifactId>war-sample</artifactId>
        <version>1.0-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>
</dependencies>
...

Wenn ich versuche zu bauen Could not resolve dependencies for project ... Was sagst du. Wenn man genau hinschaut Could not transfer artifact hoge:war-sample:jar:1.0-SNAPSHOT ... Es scheint, dass ich nach dem Glas gesucht habe und es nicht finden konnte, was zu einem Fehler führte.

Standardmäßig sucht es nach einem Glas. Wenn Sie also einen Krieg führen möchten, müssen Sie ihn angeben.

Beispiel 2, das nicht funktioniert

Hauptprojekt (Benutzerseite)

pom.xml


...
<dependencies>
    <dependency>
        <groupId>hoge</groupId>
        <artifactId>war-sample</artifactId>
        <version>1.0-SNAPSHOT</version>
        <scope>test</scope>
        <type>war</type> <!--Expliziter Typ-->
    </dependency>
</dependencies>
...

Ich fragte mich, ob das funktionieren würde, aber diesmal gab es viele Kompilierungsfehler. Es sieht so aus, als hätte die Kriegsdatei keinen Klassenpfad.

Diese Seite, Und ich konnte es mit dem Mave-War-Plugin lösen.

Beispiele, die funktionieren

Kriegsprojekt (gebrauchte Seite)

pom.xml


...
<groupId>hoge</groupId>
<artifactId>war-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <attachClasses>true</attachClasses>
                <classesClassifier>classes</classesClassifier>
            </configuration>
         </plugin>
    </plugins>
</build>
...

Wenn Sie das maven-war-Plugin einfügen und attachClasses = true setzen, Die JAR-Datei wird gleichzeitig mit der War-Datei erstellt.

Wenn Sie danach den Klassifizierer auf der Benutzerseite angeben, wird das JAR angezeigt, sodass der Klassenpfad übergeben wird.

Hauptprojekt (Benutzerseite)

pom.xml


...
<dependencies>
    <dependency>
        <groupId>hoge</groupId>
        <artifactId>war-sample</artifactId>
        <version>1.0-SNAPSHOT</version>
        <classifier>classes</classifier>
        <scope>test</scope>
    </dependency>
</dependencies>
...

Bestätigen Sie, dass der Maven-Build erfolgreich ist.

(Es ist eine Geschichte, die Sie von Anfang an in Gläser teilen sollten ...)

Recommended Posts

Dinge, die zu beachten sind, wenn der Abhängigkeit Krieg hinzugefügt wird
Dinge, die Sie beachten sollten, wenn Sie sich für CRuby entscheiden
Dinge, die Sie bei der Verwendung der if-Anweisung beachten sollten
Beachten Sie beim Testen privater Methoden in JUnit
Dinge, die beim Kombinieren von if-Anweisungen und logischen Operatoren zu beachten sind
Beachten Sie Folgendes, wenn Sie Apache PDFBox® mit AWS Lambda verwenden
N Dinge, die Sie beim Lesen von "Einführung in den Frühling" und "Einführung in den Frühling" in der Reiwa-Ära beachten sollten
Dinge zu beachten, wenn Sie Jekyll unter Windows installieren und Themen laden! !! Brauche tzinfo !!
[Java Bronze] 5 Probleme zu beachten
[Kein Komma (,) in der Adresse! ] Dinge, die Sie beachten sollten, wenn Sie sich für eine Prüfung bei Pearson VUE bewerben
Dinge, die Sie beim Schreiben von Code in Java beachten sollten
Vorsichtsmaßnahmen bei der Verwendung von Spring AOP mit Jersery-Ressourcenklassen
Dinge, die in bedingten Ausdrücken zu beachten sind
Dinge, die Sie beim Schreiben von Java beachten sollten
Wenn Eclipse den Server nicht starten kann
Beim Hinzufügen einer Abhängigkeit wird eine Fehlermeldung angezeigt
Wenn Sie InputStream in JDBI3 binden möchten
Denken wir daran, was in Java 9 neu ist
Was tun, wenn in PlayFramework eine IllegalStateException auftritt?
Punkte, die bei Java beachtet werden müssen, sind gleich