我有一个maven构建设置,但有人要求我对uberjar做一个更改,那就是不包括pom文件,因为它会弄乱我的客户端随后使用我的uberjar作为依赖项的构建。我知道这不是做这件事的方法,但是由于安全问题,我的客户无法访问我的中央存储库。因此uberjar被确定为一种部署方法。现在的问题是:有没有办法在通过maven创建jar时不包含pom文件?
谢谢,
布莱尔
发布于 2013-03-30 06:47:55
我假设您正在使用maven- assembly -plugin来构建您的uberjar,并使用一个汇编描述符。您要做的是指示程序集插件(通过程序集描述符)排除任何名为"pom.xml“的文件。例如:
<assembly>
<id>bin</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>target/classes</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>**/pom.xml</exclude>
</excludes>
</unpackOptions>
<scope>runtime</scope>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
</dependencySets>
</assembly>这里的关键是"unpackOptions“部分和其中包含的排除。
希望这会有帮助,如果是这样的话,请记住将我的答案标记为正确,这样我就可以得到美誉点。
https://stackoverflow.com/questions/15687469
复制相似问题