Maven 程序集插件,错误的依赖文件名
Maven assembly plugin, wrong dependency filenames
我正在使用 maven-assembly-plugin(版本 2.5.2)在我的 maven 构建中制作一个额外的工件。
类路径添加到 META-INF/MANIFEST.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>
但问题是给定的依赖项作为 name-1.2.0-20150413.094441-8.jar
包含在 MANIFEST.MF 中。但是,复制到 "lib" 文件夹的文件名为 name-1.2.0-SNAPSHOT.jar
.
如何解决这个问题,让 jar 清单中表示的实际运行时类路径指的是实际存在的文件?
这里的问题是有两个插件在 SNAPSHOTS 方面的工作方式不同。
Maven Archiver 负责创建 MANIFEST。恕我直言,最好的方法是强制它不使用带时间戳的版本,将其 属性 <uniqueVersion>
设置为 false。参见 here for more detail。
我会让程序集插件按照它的工作方式工作,使用 -SNAPSHOT 而不是时间戳。
我正在使用 maven-assembly-plugin(版本 2.5.2)在我的 maven 构建中制作一个额外的工件。
类路径添加到 META-INF/MANIFEST.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>
但问题是给定的依赖项作为 name-1.2.0-20150413.094441-8.jar
包含在 MANIFEST.MF 中。但是,复制到 "lib" 文件夹的文件名为 name-1.2.0-SNAPSHOT.jar
.
如何解决这个问题,让 jar 清单中表示的实际运行时类路径指的是实际存在的文件?
这里的问题是有两个插件在 SNAPSHOTS 方面的工作方式不同。
Maven Archiver 负责创建 MANIFEST。恕我直言,最好的方法是强制它不使用带时间戳的版本,将其 属性 <uniqueVersion>
设置为 false。参见 here for more detail。
我会让程序集插件按照它的工作方式工作,使用 -SNAPSHOT 而不是时间戳。