[JAVA] Points à noter lors de l'ajout de la guerre à la dépendance

Notez que j'ai trébuché en essayant d'ajouter le projet de guerre à la dépendance.

Exemple 1 qui ne fonctionne pas

projet de guerre (côté utilisé)

pom.xml


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

projet principal (côté utilisateur)

pom.xml


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

Quand j'essaye de construire un maven Could not resolve dependencies for project ... Qu'est-ce que tu dis. Si vous regardez de près Could not transfer artifact hoge:war-sample:jar:1.0-SNAPSHOT ... Il semble que je suis allé chercher le pot et que je ne l'ai pas trouvé, ce qui a entraîné une erreur.

Par défaut, il recherche un pot, donc si vous voulez mettre une guerre, vous devez le spécifier.

Exemple 2 qui ne fonctionne pas

projet principal (côté utilisateur)

pom.xml


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

Je me suis demandé si cela fonctionnerait, mais cette fois, il y a eu de nombreuses erreurs de compilation. Il semble que le fichier war n'ait pas de chemin de classe.

Cette page, Et j'ai pu le résoudre en utilisant mave-war-plugin.

Des exemples qui fonctionnent

projet de guerre (côté utilisé)

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>
...

Si vous insérez maven-war-plugin et définissez attachClasses = true, Le fichier jar est construit en même temps que le fichier war.

Après cela, si vous spécifiez le classificateur du côté utilisateur, il ira voir le fichier jar, donc le chemin de la classe passera.

projet principal (côté utilisateur)

pom.xml


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

Confirmez que la construction de maven réussit.

(C'est une histoire que vous devriez diviser en pots dès le début ...)

Recommended Posts

Points à noter lors de l'ajout de la guerre à la dépendance
Points à garder à l'esprit lorsque vous vous engagez dans CRuby
Points à garder à l'esprit lors de l'utilisation de l'instruction if
Points à garder à l'esprit lors du test de méthodes privées dans JUnit
Points à prendre en compte lors de la combinaison d'instructions if et d'opérateurs logiques
Points à garder à l'esprit lors de l'utilisation d'Apache PDFBox® avec AWS Lambda
N choses à garder à l'esprit lorsque vous lisez «Introduction au printemps» et «Introduction au printemps» à l'ère Reiwa
Choses à noter lors de l'installation de Jekyll sur Windows et du chargement des thèmes! !! Besoin de tzinfo !!
[Java Bronze] 5 problèmes à garder à l'esprit
[Pas de virgule (,) dans l'adresse! ] Points à garder à l'esprit lors de la demande d'examen à Pearson VUE
Éléments à prendre en compte lors de l'écriture de code en Java
Précautions lors de l'utilisation de Spring AOP avec les classes de ressources Jersery
Points à noter dans les expressions conditionnelles
Points à prendre en compte lors de l'écriture de Java
Lorsque Eclipse ne parvient pas à démarrer le serveur
J'obtiens une erreur lors de l'ajout d'une dépendance
Lorsque vous souhaitez lier InputStream dans JDBI3
Gardons cela à l'esprit Quoi de neuf dans Java 9
Que faire si IllegalStateException se produit dans PlayFramework
Points à connaître avec Java Equals