Fa Maven progetto risorsa riutilizzabile possibile?
Domanda
C'è qualche possibilità di costruire artefatti Maven che conterrà solo le risorse ma non le fonti e che possono essere riutilizzati da altri progetti?
La motivazione è la seguente. Ho una libreria che contiene solo html / css / codice JavaScript. Questa libreria deve essere imballato come risorse in progetti di guerra. Come per ora costruisco archivio web con risorse per singola pom. Ma io sono in grado di separare HTML / CSS / codice JavaScript in un nuovo manufatto e riutilizzarla in diversi progetti di guerra?
Soluzione
Sovrapposizioni . per ulteriori esempi Vedere Manipolazione GUERRA sovrapposizioni .
Altri suggerimenti
Si può fare con la Maven plug-assemblaggio .
Non credo che Maven sarebbe impedire di stridente alcune risorse insieme, e aggiungendo che come dipendenza nel progetto web.
Tuttavia, il modo in cui è necessario fare riferimento alle risorse sarebbe un po 'strano. Io non sono abituato a fogli di stile CSS carico come risorse java all'interno di un file jar all'interno di WEB-INF / lib.
Vorrei fare riferimento a loro come normali risorse web, relativi alla radice del file WAR, non tramite il programma di caricamento classe.
Questa è una cosa abbastanza semplice da prova:
$ 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
Questo può essere fatto da stridente artefatto delle risorse e l'estrazione in src / main / risorse nel progetto di guerra durante la fase validate
per esempio. pom risorse è banale, ma pom guerra conterrà il seguente:
<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>