我有一个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相同的行为?
有什么想法吗?
答案 0 :(得分:0)
我们终于找到了问题所在。 pom.xml文件没有包含maven-assembly-plugin的显式版本,因为一切正常,我没有注意到它。
稍后,在我们推送到构建服务器之后,它失败了。我们验证了maven版本匹配但没有考虑检查插件版本,因为所有其他依赖项都需要显式版本值。一旦我们考虑添加版本(2.2-beta-4,开始)就可以了。