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?

È stato utile?

Soluzione

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top