Bonjour à tous,
j'ai un projet multi-module ayant la structure suivante:
1 module père P avec 2 modules fils F1 et F2, et avec F2 qui possède F1 comme dépendance , en clair:
pom.xml de P:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... <modules> <module>F1</module> <module>F2</module> </modules> ...
pom.xml de F1:
pom.xml de F2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... <parent> <artifactId>P</artifactId> </parent> ...+section de construction du jar)
La partie qui pose problème est la construction du jar avec maven-jar-plugin en effet le fichier "META-INF" du jar généré ne contient pas de référence au jar F1...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 ... <parent> <artifactId>P</artifactId> </parent> ... <dependencies> <dependency> <artifactId>F1</artifactId> <version>${project.version}</version> </dependency> ... </dependencies> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>ma.classe.dans.F2</mainClass> </manifest> </archive> </configuration> </plugin> ...
Merci d'avance pour votre aide !
Note:
J'ai un problème similaire lorsque j'ajoute la section suivante dans mon fichier d'assembly:
L'erreur est de même liée à la dépendance de F2 à F1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <dependencySets> <dependencySet> <outputDirectory>lib</outputDirectory> <useProjectArtifact>false</useProjectArtifact> <scope>runtime</scope> </dependencySet> </dependencySets>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to create assembly: Error adding file 'mon.package:F1:jar:0.0.1-SNAPSHOT' to archive: C:\XXXX\P\F1\target\classes isn't a file.
Partager