【问题标题】:Maven assembly plugin, wrong dependency filenamesMaven 程序集插件,错误的依赖文件名
【发布时间】:2015-06-28 06:09:38
【问题描述】:

我正在使用 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>

但问题是给定的依赖项包含在 MANIFEST.MF 中作为name-1.2.0-20150413.094441-8.jar。但是复制到“lib”文件夹的文件称为name-1.2.0-SNAPSHOT.jar

如何解决这个问题,所以 jar 清单中表示的实际运行时类路径是指实际存在的文件?

【问题讨论】:

  • 首先请检查 maven-assembly-plugin 2.5.3 的最新版本?

标签: java maven maven-assembly-plugin


【解决方案1】:

这里的问题是有两个插件在 SNAPSHOTS 方面的工作方式不同。

Maven Archiver 负责创建 MANIFEST。恕我直言,最好的方法是强制它不使用时间戳版本,将其属性 &lt;uniqueVersion&gt; 设置为 false。见here for more detail

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2016-05-14
    • 1970-01-01
    • 2014-11-04
    • 2015-09-08
    • 2010-12-23
    • 1970-01-01
    相关资源
    最近更新 更多