Как создать jar архив исходников проектов с помощью maven
Я включаю следующий фрагмент в объектную модель проектов
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
</plugin>
согласно maven.apache.org плагин прикрепляет цель jar к фазе пакета. Однако выполнение "mvn clean; mvn package" не генерирует project-sources.jar в целевом каталоге.
РЕДАКТИРОВАТЬ: Вероятно, я не понимаю комментарий от веб-сайта, который я процитировал: "[Источник: цель jar] По умолчанию привязывается к фазе жизненного цикла: пакет." Я ожидал, что когда я включу раздел плагинов, как показано выше, maven уже связывает цель source:jar с фазой пакета. Я ошибаюсь здесь? Что означает комментарий?
Матиас.
3 ответа
Документация немного вводит в заблуждение. Плагин имеет фазу выполнения пакета по умолчанию, но цель по умолчанию отсутствует. Я считаю, что вы должны указать цель, чтобы плагин работал.
Попробуй это:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
Затем используется привязка по умолчанию jar-no-fork
цель package
фаза жизненного цикла, и это, вероятно, то, что вам нужно здесь.