Bonjour à tous,

Dans un projet parent je déclare un module comme suit:

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
 
	<modules>
		<module>../projet1</module>
                 ...
	</modules>
 
        <dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>fr.util</groupId>
				<artifactId>projet1</artifactId>
				<version>1.0.0</version>
	 		</dependency>
        </dependencies>
	</dependencyManagement>
MAIS ce qui a été mis en place par mes prédécesseurs dans projet1 est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
projet1
         --src
           --main
             --java 
               -- fr.util.interface
               -- fr.util.view
               -- org.service
Il y a 1 package dans projet1 qui n'appartient pas au groupId fr.util: org.service.

Si je fais un install, il n'y a pas de problème mais lorsque je fais un assembly le package org.service n'est pas inclu dans le jar exécutable. J'utilise l'assembly.xml suivant:

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
29
30
31
32
33
34
35
36
37
 
 
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>executable</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
     <fileSet>
      	<directory>src/main/resources/images</directory>
      	<outputDirectory>images</outputDirectory>
       	<includes>
           <include>**</include>
     	</includes>
    </fileSet>
    <fileSet>
      	<directory>src/main/resources/mapping</directory>
      	<outputDirectory>mapping</outputDirectory>
       	<includes>
        	<include>**</include>
     	</includes>
    </fileSet>
  </fileSets>
  <dependencySets>
       <dependencySet>
      	<scope>runtime</scope>
      	<unpack>true</unpack>
     	 <useProjectArtifact>false</useProjectArtifact>
 	  	<excludes>
       		  <exclude>org*:*</exclude>
      		</excludes>
     </dependencySet>
   </dependencySets> 
</assembly>
Afin d'avoir une inclusion org.service, je dois rajouter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    <fileSet>
      <directory>target/classes/org</directory>
      	<outputDirectory>org</outputDirectory>
       	<includes>
        	<include>**</include>
     	</includes>
    </fileSet>
J'ai donc 2 questions:
  1. Est-ce la bonne pratique que de passer par target?
  2. Comment expliquer que le package org.service ne soit pas inclu dans le jar avec mon assembly.xml


Comme d'habitude dites-moi si c'est compréhensible: j'ai parfois les idées embrouillées sur maven. Merci pour votre aide

D