Банка Maven с путем к классам в манифесте

Я делаю дополнительную банку, содержащую банку проекта и все зависимости, как часть моей сборки maven (с плагином maven-assembly):

В XML-файле сборки:

    <dependencySet>
        <unpack>false</unpack>
        <scope>runtime</scope>
        <useProjectArtifact>false</useProjectArtifact>
        <outputDirectory>lib</outputDirectory>
    </dependencySet>

В ПОМ:

<archive>
  <manifest>
     <mainClass>dk.intelligentsystems.platform.deploy.Deployer</mainClass>
     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
     <addClasspath>true</addClasspath>
     <classpathPrefix>lib/</classpathPrefix>
   </manifest>
 </archive>

Баночка содержит правильные файлы, но зависимости не добавляются в атрибут manufest Classpath. Как я могу это сделать?


person Dennis Thrysøe    schedule 20.11.2014    source источник


Ответы (1)


Вместо maven-assembly-plugin я использую maven-shade-plugin в в сочетании с maven-jar-plugin для та же цель.

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <createDependencyReducedPom>false</createDependencyReducedPom>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                    <exclude>.settings/**</exclude>
                                    <exclude>*.classpath</exclude>
                                    <exclude>*.project</exclude>
                                    <exclude>*.txt</exclude>
                                </excludes>
                            </filter>
                        </filters>
                    </configuration>
                </execution>
            </executions>
        </plugin>
person Iker Aguayo    schedule 20.11.2014
comment
Это не похоже на то, что я ищу. Но, возможно, это может быть полезным планом Б. - person Dennis Thrysøe; 20.11.2014