gpt4 book ai didi

gradle - 如何强制 Gradle 获取我的包的最新快照版本?

转载 作者:行者123 更新时间:2023-12-03 03:16:53 26 4
gpt4 key购买 nike

我在 GitHub 包注册表上托管了一个 Maven 包。
每当我更新包时,我都会运行 mvn deploy发布更改,但如果我只是运行 gradle install在依赖的应用程序上,它似乎没有安装最新版本的软件包
(不确定 settings.xml 是否与这个问题相关,所以我删除了它,但可以在我上一个问题的链接中看到)。
我有一个 similar issue在另一个依赖中使用包的最新快照版本,它使用 Maven 作为包管理器/构建工具而不是 Gradle。这是通过在 Maven 设置中选中一个“总是更新快照”的框来解决的。我也选中了这个项目中的框,但现在似乎没有解决问题。
我尝试过的:

  • 使缓存无效并重新启动 IntelliJ
  • 重新导入所有 gradle 项目
  • 从我的 build.gradle 中删除依赖项然后重新导入项目并安装,然后将其添加回来并重新导入所有项目并安装
  • 运行 ./gradlew build -x test --refresh-dependencies (测试被禁用,因为他们失败了)

  • 这是我运行后的日志 gradle install :
    4:07:08 PM: Executing task 'install'...

    > Task :compileJava UP-TO-DATE
    > Task :processResources UP-TO-DATE
    > Task :classes UP-TO-DATE
    > Task :jar SKIPPED
    > Task :install

    BUILD SUCCESSFUL in 2s
    3 actionable tasks: 1 executed, 2 up-to-date
    4:07:10 PM: Task execution finished 'install'.
    在我的 build.gradle我对我的依赖项使用以下语法(在依赖项下): compile('com.companyname:packagename:0.0.3-SNAPSHOT')这就是我在存储库下的内容:
    maven {
    url "https://maven.pkg.github.com/companyname/packagename"
    credentials {
    username "TaylorBurke"
    password "*****************"
    }
    }
    不确定它是否相关,但是当我进入我的 Maven 设置以尝试更新存储库时,我收到此错误:
    authorization-exception
    就是这样,我想我已经包括了所有内容。这是 Maven、Gradle 或 IntelliJ 的配置问题吗?
    编辑:因为有人建议关闭这个问题,我指出另一个问题的链接没有解决使用 Gradle 安装的问题,它只是解决了运行后的错误 mvn deploy .我已经成功部署了新包,可以从我的其他应用程序中获取新版本。我的问题特定于 gradle install .尽管接受的答案提到他在使用 Gradle 时遇到了类似的问题(但我的问题也不在于部署),但他继续说快照版本将为所表达的问题提供解决方案,而我已经在此使用了快照版本包裹。这个问题显然完全不同,与我的完全无关。

    最佳答案

    您已经使用 IntelliJ 尝试了很多东西,但是当您从命令行 ( ./gradlew build ) 运行构建时会出现问题。这应该是一个很好的迹象,表明问题不在于 IntelliJ。
    默认情况下,Gradle 会将更改的依赖项(例如 SNAPHOST 依赖项)缓存 24 小时。在此期间,它不会向存储库询问更新版本。因此,如果您以相同的名称发布新版本,Gradle 可能会在另一天看不到它。
    使用 --refresh-dependencies选项将使 Gradle 忽略缓存,从而再次下载工件。
    您还可以通过 ResolutionStrategy 更改缓存保留期。 .如果您愿意,您还可以将其配置为始终检查更改的依赖项。
    在此处阅读有关动态依赖项的更多信息:https://docs.gradle.org/current/userguide/dynamic_versions.html

    如果您好奇,Gradle 工件缓存默认位于 $USER_HOME/.gradle/caches/modules-2/files-2.1 (数字可能会有所不同,具体取决于您使用的 Gradle 版本)。此缓存与您在 IntelliJ 中提到的缓存无关。
    此外,IntelliJ maven 存储库浏览器中的身份验证错误是因为您的凭据在 Gradle 配置中而不是在 IntelliJ 中。所以这也与 Gradle 无关。

    关于gradle - 如何强制 Gradle 获取我的包的最新快照版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62905609/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com