Maven组装:Jenkins下的单一结构

时间:2013-10-08 20:09:15

标签: maven jenkins maven-assembly-plugin

我有一个pom.xml配置文件,它调用Maven(2.2.1)程序集来创建我们将上传到第三方漏洞评估工具的自定义工件。配置非常简单 - 剥离它的基本要素

<dependencySet>
   <includes>
      <include>${project.groupId}:*:jar</include>
   </include>
   <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>

<dependencySet>
   <outputDirectory>lib</outputDirectory>
   <includes/>
   <excludes>
      <exclude>${project.groupId}:*</exclude>
   </excludes>
</dependencySet>

那就是 - 顶级目录有我们的jar,去掉了版本信息,并且所有依赖项都在/ lib目录中并包含版本信息。

这非常简单,可以在我的桌面上使用。

在Jenkins服务器上,所有内容都被锁定在顶层目录中,并且版本信息被剥离。

我的第一个想法是服务器上的$ {project.groupId}可能存在问题。这似乎不太可能,但显然需要检查。不幸的是问题仍然存在。

这不是因为它是tar.gz - 我看到与.zip相同的行为?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我们终于找到了问题所在。 pom.xml文件没有包含maven-assembly-plugin的显式版本,因为一切正常,我没有注意到它。

稍后,在我们推送到构建服务器之后,它失败了。我们验证了maven版本匹配但没有考虑检查插件版本,因为所有其他依赖项都需要显式版本值。一旦我们考虑添加版本(2.2-beta-4,开始)就可以了。