美好的一天,
我正在尝试将我们公司的Grails插件集成到我们的Maven存储库中(我们的存储库被命名为'snapshots'和'releases')。
为此,我在所有插件中安装了maven-publisher插件,并使用“grails maven-deploy”命令部署它们。这很有效。
但是,如果我部署SNAPSHOT版本的插件(比如版本1.0.0-SNAPSHOT),它会在我们的存储库中正确部署,但我无法在我们的应用程序中安装它(使用版本“latest.integration”) “)。
我正在使用Grails 1.3.7。
首先,在部署时,实际的工件名称会添加一个时间戳(“blablabla-1.0.0-20110421.122823-1.zip”)。但是,版本仍然是1.0.0-SNAPSHOT。我猜测是Maven进行了这种转变。
然而,Ivy似乎不了解转换,或处理SNAPSHOT版本。我得到的错误如下:
==== http://myRepo/repository/snapshots: tried
-- artifact myOrg#blablabla;latest.integration!blablabla.zip:
http://myRepo/repository/snapshots/myOrg/blablabla/[revision]/blablabla-[revision].zip
最初的研究表明,我可以创建一个解析器模式,但对于那些应该开箱即用的东西来说似乎有点复杂,而且我的初始测试无论如何都不是决定性的(我尝试了一些模式,其中没有一个工作)。
我应该注意,使用“maven-install”命令在本地部署我的插件是有效的,因为该脚本会创建一个具有正确版本(blablabla-1.0.0-SNAPSHOT.zip)的工件以及带有时间戳的工件。
有人有解决方案吗?
谢谢!
纪尧姆。
答案 0 :(得分:3)
我解决了这个修改Artifactory快照存储库配置的问题:
<snapshotVersionBehavior>non-unique</snapshotVersionBehavior>
现在当你有foo-plugin-1.0-SNAPSHOT.zip并上传它时,名字保持不变。