Maven程序集插件,依赖文件名错误



我正在用maven汇编插件(2.5.2版本)在我的maven构建中制作一个额外的工件。

Classpath被添加到META-INF/MMANIFEST中。MF:

<manifest>                                                                  
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>

在我的程序集XML文件中添加了依赖项:

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

但问题是MANIFEST中包含了一个给定的依赖项。MF作为CCD_ 1。但是,复制到"lib"文件夹的文件称为name-1.2.0-SNAPSHOT.jar

如果jar清单中表示的实际运行时类路径引用了实际存在的文件,该如何修复?

这里的问题是,对于SNAPSHOTS,有两个插件的工作方式不同。

Maven Archiver负责创建MANIFEST。IMHO最好的方法是强制它不要使用带时间戳的版本,将其属性<uniqueVersion>设置为false。请参阅此处了解更多详细信息。

我会让汇编插件按照它的工作方式工作,使用-SNAPSHOT而不是时间戳。

最新更新