【问题标题】:How do I clear teamcity's maven dependency repository/cache如何清除 teamcity 的 Maven 依赖库/缓存
【发布时间】:2021-10-22 19:22:28
【问题描述】:

我有一个 teamcity 服务器,我的 maven 依赖项已经改变,但谁的版本没有改变。据我所知,这导致我的构建失败,因为 teamcity 没有更新这些依赖项。

所以我需要知道如何为我的项目清除 teamcity 的 maven 依赖项缓存。我查看了文档,没有发现任何重要的内容。

谢谢!

【问题讨论】:

    标签: maven teamcity


    【解决方案1】:

    与其尝试手动清除运行 Teamcity 的服务器上的本地 Maven 存储库,不如在 Teamcity 设置中强制更新 Maven 依赖项可能更容易。

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

    保存设置并开始新的构建。这个额外的参数将迫使 Maven 去更新它的依赖关系。

    以后,如果依赖项发生了变化,但它们的版本没有变化,最好将它们的版本设置为 SNAPSHOT。见What exactly is a Maven Snapshot and why do we need it?

    【讨论】:

    • 这似乎不起作用,你确定它应该吗?另外,很遗憾我不能使用快照,因为我无法控制这些特定的依赖关系:/ 还有其他想法吗?
    • 它应该可以工作。这就是我们为 Teamcity 设置配置构建的方式。您可以尝试登录到您的 Teamcity 服务器,更改为 teamcity 用户(或 Teamcity 运行的任何用户),然后强制删除(或重命名).m2 文件夹。那是本地 Maven 缓存。下次 Teamcity 运行构建时,maven 将再次下载所有依赖项。
    • 我遇到了同样的问题,并得到了同样的解决方案。对于一个构建它有效,对于另一个构建,Maven 似乎忽略了-U 开关。可爱的...
    【解决方案2】:

    我在/opt/TeamCity/buildAgent/system/sbt_ivy/cache/ 找到了我的,但是如果你可以通过 SSH 连接到你的机器,只需运行sudo find / -name "sbt_ivy",你就会在你的机器上看到 ivy 的地址(如果你像我一样使用 SBT)

    【讨论】:

      【解决方案3】:

      您实际上可以转到版本控制设置,并且有一个复选框“在构建之前删除结帐目录中的所有文件”。

      【讨论】:

        【解决方案4】:

        /opt/buildagent/system/jetbrains.maven.runner/maven.repo.local找到我的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-24
          • 2013-10-19
          • 2023-04-09
          • 2014-05-31
          • 2017-07-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-18
          相关资源
          最近更新 更多