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?

Était-ce utile?

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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top