Разница между созданием фляги для проекта maven с плагинами maven и без них - PullRequest
1 голос
/ 17 апреля 2019

Может кто-нибудь объяснить разницу между созданием фляги для проекта maven с и без плагинов maven в pom.xml

Я знаю, что эти плагины полезны при создании jar-файлов в maven.

maven-jar-plugin builds jar
maven-assembly-plugin - builds jar with dependencies, 
maven-shade-plugin - creates a standalone jar with resolved dependencies and resolves the conflicts between resource files that have the same name across the jars.

Однако я могу создать jar, выполнив команду 'mvn package' без использования какого-либо плагина в моем pom.xml. В чем разница между этим jar и тем, который сгенерирован с помощью maven-jar-plugin.

Вот мой pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Demo</groupId>
    <artifactId>Demo</artifactId>
    <name>test</name>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

</project>

1 Ответ

1 голос
/ 17 апреля 2019

В проекте maven при использовании «packaging = jar» используется «maven-jar-plugin» под капотом.Это создает банку, если вы следуете стандартам maven.Следовательно, ваш jar без настройки.

Вы можете дополнительно настроить сгенерированный jar с помощью 'maven-jar-plugin', где вы можете включить дополнительные файлы и т. Д. В jar.

The maven-assembly-plugin 'позволяет генерировать tar, zip и другие сжатые артефакты с пользовательскими файлами и папками.

' maven-shade-plugin 'позволяет создавать толстый jar-файл, содержащий все необходимыеСторонние банки и основной класс.Это делает ваш артефакт легко развертываемым и исполняемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...