Maven部署:由于版本/时间戳附加到jar,因此找不到部署文件

时间:2010-04-09 08:55:23

标签: ant maven archiva

我在使用deploy:deploy-file快照时遇到问题我想请一些建议。

我有2个项目; 1)基于Ant和2)其他基于Maven的{​​{1}}通过Archiva消耗其他项目的jar。

我已经为Ant项目添加了一个目标,以便在迭代过程中为每个成功的构建部署快照。

问题是Maven项目无法找到它们,因为依赖项的名称有timestamp appended like so

someJar-1.0-20100407.171211-1.jar

这是Ant目标:

<exec executable="${maven.bin}" dir="../lib">
  <arg value="deploy:deploy-file" />
  <arg value="-DgroupId=com.my.package" /><arg value="-DartifactId=${ant.project.name}" />
  <arg value="-Dversion=${manifest.implementation.version}-SNAPSHOT" />
  <arg value="-Dpackaging=jar" />
  <arg value="-Dfile=../lib/${ant.project.name}-${manifest.implementation.version}-SNAPSHOT.jar" />
  <arg value="-Durl=http://archiva.xxx.com/archiva/repository/snapshots" />
  <arg value="-DrepositoryId=snapshots" />
</exec> 

我有一个类似的Ant目标用于发布,这很好。

通过mvn deploy部署snapshost的其他纯Maven项目可以正常工作。

有谁知道我哪里出错了?

谢谢

更新

找出答案,见下文。

1 个答案:

答案 0 :(得分:1)

找出答案。

在我的Ant目标中,我正在部署该文件,如您所见。然后我也用相同的东西做了同样的事情。

这导致了Archiva中的2个快照,如果你进行了mvn部署,那么通常没有你想要的1个快照。

因此无法找到非测试依赖项,因为最新的快照是-test jar。

很高兴知道如何解决这个问题。

请参阅Deploying non Maven based module src and tests jar to Archiva in a single transaction