Est-ce que projet Maven des ressources réutilisables possible?
Question
Y at-il la capacité de construire artefact Maven qui contiendra uniquement les ressources, mais aucune source et qui peuvent être réutilisés par d'autres projets?
La motivation est la suivante. J'ai une bibliothèque qui ne contient que html / css / code javascript. Cette bibliothèque doit être emballé comme ressources dans le projet de guerre. Pour l'instant je construis archive web avec des ressources par un seul pom. Mais suis-je capable de séparer html / css / code javascript dans de nouveaux artefacts et le réutiliser dans plusieurs projets de guerre?
La solution
Superpositions. Voir pour plus d'exemples WAR Superpositions Manipuler.
Autres conseils
Vous pouvez le faire avec le plugin Maven Assembly .
Je ne pense pas que maven vous empêche de cognement quelques ressources ensemble, et en ajoutant que comme une dépendance dans votre projet web.
Cependant, la façon dont vous avez besoin de référencer les ressources serait un peu étrange. Je ne suis pas habitué à chargement des feuilles de style css comme ressources java dans un fichier jar dans les WEB-INF / lib.
Je voudrais me référer à eux comme des ressources Web normales, par rapport à la racine du fichier WAR, et non via le classloader.
Ceci est une chose assez simple à tester:
$ ls -R
.:
pom.xml src
./src:
main
./src/main:
resources
./src/main/resources:
README.txt content-is-here.txt
$ mvn package
... Maven doing it's thing...
$ unzip -l target/test-1.0-SNAPSHOT.jar
Archive: target/test-1.0-SNAPSHOT.jar
Length Date Time Name
--------- ---------- ----- ----
0 02-25-2010 16:18 META-INF/
123 02-25-2010 16:18 META-INF/MANIFEST.MF
10 02-25-2010 16:18 content-is-here.txt
0 02-25-2010 16:18 README.txt
0 02-25-2010 16:18 META-INF/maven/
0 02-25-2010 16:18 META-INF/maven/group/
0 02-25-2010 16:18 META-INF/maven/group/test/
626 02-25-2010 16:15 META-INF/maven/group/test/pom.xml
106 02-25-2010 16:18 META-INF/maven/group/test/pom.properties
--------- -------
865 9 files
Cela peut être fait par l'artefact discordante des ressources et le déballage dans src / main / ressources dans le projet de guerre pendant la phase validate
par exemple. Ressources pom pom est trivial, mais la guerre contiendra les éléments suivants:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>validate</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>my.company</groupId>
<artifactId>resource-artifact</artifactId>
<version>1.0</version>
<overWrite>true</overWrite>
<outputDirectory>src/main/resources</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>