我有一个maven构建设置,但是我已经要求我对uberjar进行一次更改,那就是不包含pom文件,因为它会影响我的客户端后续构建,使用我的uberjar作为依赖。我知道这不是这样做的方法,但由于安全问题,我的客户端无法访问我的中央仓库。因此,uberjar作为一种部署方法得到了解决。现在的问题是:有没有办法不通过maven创建jar来包含pom文件?
谢谢,
布莱尔
答案 0 :(得分:0)
我假设您正在使用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”部分和其中包含的排除。
希望有所帮助,如果是这样,请记住将我的答案标记为正确,以便获得声望点。