Возможен ли проект многоразового использования ресурсов maven? - PullRequest
5 голосов
/ 25 февраля 2010

Есть ли возможность создать артефакт maven, который будет содержать только ресурсы, но не будет иметь источников, и который может быть использован другими проектами?

Мотивация заключается в следующем. У меня есть библиотека, которая содержит только html / css / javascript код. Эта библиотека должна быть упакована как ресурсы в военный проект. На данный момент я создаю веб-архив с ресурсами на одного человека. Но могу ли я разделить код html / css / javascript на новый артефакт и повторно использовать его в нескольких военных проектах?

Ответы [ 5 ]

9 голосов
/ 26 февраля 2010

Использовать Maven Наложения . См. Управление наложением WAR для получения дополнительных примеров.

1 голос
/ 25 февраля 2010

Вы можете сделать это с помощью подключаемого модуля Maven .

0 голосов
/ 26 февраля 2010

Это можно сделать, взяв артефакт ресурса и распаковав его, например, в src / main / resources in war в фазе validate Ресурсный pom тривиален, но военный pom будет содержать следующее:

 <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>
0 голосов
/ 26 февраля 2010

Это довольно простая вещь для тестирования:

$ 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
0 голосов
/ 25 февраля 2010

Не думаю, что maven помешает вам собрать несколько ресурсов вместе и добавить это как зависимость в ваш веб-проект.

Однако способ ссылки на ресурсы был бы немного странным. Я не привык загружать таблицы стилей CSS в качестве java-ресурсов в файл jar в WEB-INF / lib.

Я бы хотел ссылаться на них как на обычные веб-ресурсы, относящиеся к корню файла WAR, а не через загрузчик классов.

...