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

如何强制Gradle获取包的最新快照版本?,gradle,build.gradle,Gradle,Build.gradle,我在GitHub包注册表上托管了一个Maven包 每当我对包进行更新时,我都会运行mvn deploy来发布更改,但如果我只是在依赖应用程序上运行gradle install,它似乎不会安装包的最新版本 (不确定settings.xml是否与此问题相关,因此我将其删除,但可以在我上一个问题的链接中看到) 在另一个dependent中使用包的最新快照版本时,我遇到了麻烦,它使用Maven作为包管理器/构建工具,而不是Gradle。通过在Maven设置中选中“始终更新快照”复选框,解决了这个问题。我

我在GitHub包注册表上托管了一个Maven包

每当我对包进行更新时,我都会运行
mvn deploy
来发布更改,但如果我只是在依赖应用程序上运行
gradle install
,它似乎不会安装包的最新版本 (不确定
settings.xml
是否与此问题相关,因此我将其删除,但可以在我上一个问题的链接中看到)

在另一个dependent中使用包的最新快照版本时,我遇到了麻烦,它使用Maven作为包管理器/构建工具,而不是Gradle。通过在Maven设置中选中“始终更新快照”复选框,解决了这个问题。我也勾选了这个项目中的复选框,但现在似乎无法解决这个问题

我所尝试的:

  • 使缓存无效并重新启动IntelliJ

  • 重新导入所有gradle项目

  • 从my
    build.gradle
    中删除依赖项,然后重新导入项目并安装,然后将其添加回,并重新导入所有项目并安装

  • 正在运行
    /gradlew build-x测试--刷新依赖项(测试被禁用,因为它们失败)

这是我运行
gradle安装后的日志:

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设置尝试更新存储库时,会出现以下错误:

就是这样,我想我已经包括了一切。Maven、Gradle或IntelliJ是否存在配置问题


编辑:因为有人建议关闭此问题,我要指出的是,指向另一个问题的链接并不涉及使用Gradle进行安装,它只是在运行
mvn deploy
后解决了一个错误。我已经成功部署了新包,可以从其他应用程序获取新版本。我的问题特定于
gradle安装
。尽管公认的答案提到他在使用Gradle时遇到了类似的问题(但我的问题不是部署Gradle),但他接着说,快照版本将为所表达的问题提供解决方案,我已经在这个包中使用了快照版本。这个问题显然与我的问题完全不同。

您已经用IntelliJ做了很多尝试,但是当您从命令行运行构建时就会出现问题(
/gradlew build
)。这应该是一个很好的迹象,表明问题不在于IntelliJ

默认情况下,Gradle将缓存更改的依赖项(例如SNAPHOST依赖项)24小时。在此期间,它不会向存储库请求更新的版本。因此,如果您以相同的名称发布一个新版本,Gradle可能会在以后的某一天再也看不到它

使用
--refresh dependencies
选项将使Gradle忽略缓存,从而再次下载工件

您还可以通过更改缓存保留期。如果愿意,还可以将其配置为始终检查已更改的依赖项

请在此处阅读有关动态依赖关系的更多信息:


如果您感到好奇,Gradle工件缓存默认位于
$USER\u HOME/.Gradle/caches/modules-2/files-2.1
(数字可能会因您使用的Gradle版本而异)。此缓存与您在IntelliJ中提到的缓存无关


此外,IntelliJ maven存储库浏览器中的身份验证错误是因为您的凭据位于Gradle配置中,而不是IntelliJ中。所以这也与Gradle无关。

好吧,看来我现在有了最新的版本,但我不知道实际的工作原理,我仍然希望更好地理解Gradle的安装过程……这是否回答了您的问题?似乎不相关我确实发现了另一个与此相关的问题,但它是完全相同的错误消息;即使您可以获取该软件包,但无法登录,您也可能不会发布它。谢谢您提供的信息,我现在对这个问题有了更多的了解