Там способность состоит в том, чтобы создать артефакт знатока, который будет содержать только ресурсы, но никакие источники и который может быть снова использован другими проектами?
Мотивация следующая. У меня есть библиотека, которая содержит только HTML/CSS/код JavaScript. Эта библиотека должна быть упакована как ресурсы в военный проект. Что касается теперь я создаю веб-архив с ресурсами единственным англичанином. Но могут я, чтобы разделить HTML/CSS/код JavaScript на новый артефакт и снова использовать его в нескольких военных проектах?
Использовать Maven Оверлеи . См. Дополнительные примеры в Управление наложениями WAR .
Это можно сделать с помощью подключаемого модуля сборки Maven .
Проверить это довольно просто:
$ 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
Например, это можно сделать, скопировав артефакт ресурса и распаковав его в src / main / resources в военном проекте во время фазы проверки
. Помещение ресурса тривиально, но помпу войны будет содержать следующее:
<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>
Я не думаю, что maven помешает вам объединить несколько ресурсов вместе и добавить это в качестве зависимости в ваш веб-проект.
Однако способ, которым вам нужно ссылаться на ресурсы, был бы немного странным. Я не привык загружать таблицы стилей css как ресурсы java в файле jar в WEB-INF / lib.
Я бы хотел называть их обычными веб-ресурсами относительно корня файла WAR, а не через загрузчик классов.