2013-10-29 82 views
1

我有一个teamcity服务器,我有maven依赖关系已经改变,但谁的版本没有改变。从我可以告诉这是造成我的构建失败,因为teamcity不更新这些依赖关系。我如何清除teamcity的maven依赖关系库/缓存

所以我需要知道如何清除teamcity的Maven依赖项缓存为我的项目。我浏览了文档,没有发现任何重要的东西。

谢谢!

回答

1

与其试图手动清除运行TeamCity的服务器上的本地Maven存储库,可能更容易强制更新TeamCity设置中的Maven依赖关系。

为此,编辑Teamcity项目的设置(在Teamcity前端选择项目,然后选择'设置'选项卡)。接下来,点击“编辑配置设置”链接(右上角),然后点击右侧的“生成步骤”链接。在这里,编辑负责编译代码的步骤。在此表单上,在“目标”字段中,添加参数-U(这是一个大写'U')。

保存设置并启动新的构建。额外的争论将迫使Maven去更新它的依赖关系。展望未来,如果依赖关系在改变,但他们的版本不是,那么你最好将他们的版本设置为SNAPSHOT。见What exactly is a Maven Snapshot and why do we need it?

+1

那并不似乎没有用,你确定它应该吗?此外,我不幸的是不能使用快照,因为我不控制这些特定的依赖关系:/任何其他想法? –

+1

它应该工作。这就是我们为Teamcity设置配置的构建方式。您可以尝试登录到您的Teamcity服务器,切换到teamcity用户(或Teamcity运行的任何用户),然后强制删除(或重命名).m2文件夹。这是本地的maven缓存。 TeamCity下次运行构建时,maven会再次下载所有依赖关系。 –

0

我发现矿/opt/TeamCity/buildAgent/system/sbt_ivy/cache/,但如果你能ssh到你的机器,只需运行sudo find/-name "sbt_ivy",你会在你的机器看到常春藤的地址(如果你使用SBT像我一样)