Я пытаюсь создать исполняемый jar-файл maven, за исключением нескольких пакетов с исходным кодом,
и добавление выбранной зависимости.
Я пробовал два плагина, которые дают мне почти результат, но не точный.
1. Maven-Jar-Plugin - С этим плагином исходные пакеты исключаются, но не могут отобрать зависимости от jar.
2. Maven-shade-plugin - С помощью этого плагина я могу выбрать отдельные зависимости, но не могу исключить исходные пакеты.
Please suggest me any plugin/idea to achieve this.
Thanks in advance.
1. *Maven-Jar-Plugin* - With this plugin, Source packages are excluded, but not able to selected dependencies to jar.
2. *Maven-shade-plugin*- With this plugin, i am able to selected depndencies, but not able to exclude source packages.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>deploy</id>
<goals><goal>jar</goal></goals>
<phase>package</phase>
<configuration>
<classifier>deploy</classifier>
<excludes>
<exclude>**/spark/**</exclude>
<exclude>**/sparkcommon/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<artifactSet>
<includes>
<include>org.apache.xmlrpc:*</include>
<include>com.sample.rocfm:*</include>
<include>xml-apis:*</include>
<include>org.apache.ws.commons.util:*</include>
</includes>
</artifactSet>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>sample</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
Expected Output is a executable jar with selected dependencies, and excluding few source package.