Создать Maven исполняемый файл JAR с исключениями исходных пакетов и выбранными зависимостями - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь создать исполняемый 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. 
...