【发布时间】:2012-10-30 15:36:30
【问题描述】:
我正在尝试解压缩一个 maven 工件 A 并将其重新打包到 maven 项目 B 中的一个新 jar 文件中。
将类文件从工件 A 解压到:
<my.classes.folder>${project.build.directory}/staging</my.classes.folder>
使用它可以正常工作:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.test</groupId>
<artifactId>mvn-sample</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${my.classes.folder}</outputDirectory>
<includes>**/*.class,**/*.xml</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
在同一个 pom 中,我现在想生成一个额外的 jar,其中包含刚刚解包的类:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classesdirectory>${my.classes.folder}</classesdirectory>
<classifier>sample</classifier>
</configuration>
</execution>
</executions>
</plugin>
创建了一个新的 jar,但它不包含来自以下位置的类:
${my.classes.folder}
它只是默认项目 jar 的副本。有什么想法吗?
我已尝试遵循本指南:
http://jkrishnaraotech.blogspot.dk/2011/06/unpack-remove-some-classes-and-repack.html
但它不起作用。
【问题讨论】: