2016-04-08 4 views
2

В руководстве по сборке, в Maven (https://maven.apache.org/guides/mini/guide-assemblies.html), говорится:Какое правильное место для хранения файлов сборки в Maven?

Вы заметите, что дескриптор сборки находится в $ {project.basedir}/SRC/сборках которого является стандартным расположением для сборки дескрипторы.

Но на странице Maven сборки плагина (https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html) он говорит:

Примечание: сборка дескрипторы должны находиться в директории /SRC/основные/ресурсы/сборок быть доступен Ассамблея Plugin.

Есть ли они 2 разных предмета? Кто-нибудь из них устарел?

ответ

7

Это разница между использованием сборок и их доступом к другим проектам.

Идея размещения дескрипторов сборки в src/main/resources/assemblies заключается в том, чтобы сделать их доступными для других модулей или проектов. Вы создаете проект, скажем my-assembly-descriptor, с одним или несколькими дескрипторами сборки в src/main/resources/assemblies. Затем в другом проекте, который вы хотите использовать дескриптор, вы настраиваете плагин сборки для использования my-assembly-descriptor в качестве зависимости.

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.6</version> 
    <dependencies> 
     <dependency> 
     <groupId>your.group.id</groupId> 
     <artifactId>my-assembly-descriptor</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 
    <executions> 
     ... 
    </executions> 
    </plugin> 

Плагин сборки находит ваши дескрипторы на пути к классу и может их использовать.

Дескрипторы сборки, размещенные в src/assembly, могут использоваться для сборки артефактов, но не могут использоваться повторно в других модулях или проектах.

+0

Блестящий! Спасибо Мэтту! – Whimusical