当前位置: 首页 > 知识库问答 >
问题:

Gradle:未使用更新的依赖项

傅彬
2023-03-14

我是使用gradle构建的新手。目前,我尝试实现项目B的构建,该构建使用项目a的构建结果,该结果部署到artifactory。我使用的是Gradle 2.2。详细信息:

项目A的build.gradle包含:

version = '1.0.0-SNAPSHOT'
group = 'at.mic.projectA'

每次构建项目a时,应用插件“maven”会在artifatory中生成一个新的工件,如at.mic.projectA-1.0.0-20150624.073846-2.jar(和.pom)。

项目B的build.gradle包括:

dependencies {
    compile group: 'at.mic.projectA', name: 'at.mic.projectA', version:'1.0.0+'
    ...
}

'at.mic.at.mic。projectA',版本:'1.0.0'首次构建项目B时,此依赖关系将正确解析,最新版本位于.mic.projectA-*。jar是从artifactory下载的。

如果我更改项目A的某个源并重新构建它,我会在构建项目B的过程中看到两件事:

  1. 在.mic.projectA-*下载最新工件。jar和
  2. 重新编译项目B

不幸的是,这并没有发生。即使我删除user_home/缓存的内容以强制使用新工件,这些内容也已下载,但gradle不会重新编译项目B-它会写入日志:

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:uploadArchives

我的配置有问题吗?提前感谢!

弗兰克(男子名)

共有1个答案

蒲昊苍
2023-03-14

本的评论中提供了解决方案:

听起来您需要更改动态版本的默认缓存设置

谢谢,本

 类似资料:
  • 我在我的Eclipse中有一个简单的gradle项目。我更新了build.gradle以包含一些apache http JAR... 但是,在我的代码中,我引用了一些Apache HTTP内容: 我试着做一次清洁,但那不起作用。我的gradle插件是:

  • 我正在更新一大组遗留java应用程序。当前构建使用ant,其依赖项来自每个项目的lib目录。依赖项是每个项目的一部分,并签入源代码管理。更新的目的是将构建转换为gradle,并使用maven存储库进行依赖关系管理。为了简单起见,遗留构建使用ant构造从其他项目的lib目录复制依赖项,如下所示: 这种方法用于编译和运行时依赖项。虽然这样做有效,但由于包含了许多在运行时不需要的JAR,因此会导致部署工

  • 我有以下文件: 我运行以下命令: 但它什么也没做。依赖项不会得到更新,也不会反映在类路径上。命令的输出为: 不过,通过EclipseGradle插件实现这一点是可行的。

  • 问题内容: 问题。 Gradle依赖管理使得: 没有简便的方法来检查依赖项更新的可用性(仅使用某些第三方插件,如ben-manes / gradle-versions-plugin)并下载更新以替换旧版本; 从远程存储库下载依赖项工件,然后将其存储在gradle缓存中,并在后续构建中重用;但是项目的成功编译必须不依赖于与Internet的连接,远程存储库的可用性以及这些存储库中特定版本的依赖项。

  • 问题。 分级依赖项管理是这样进行的: 检查依赖更新的可用性(仅使用一些第三方插件,如Ben-Manes/Gradle-Versions-Plugin),并下载替换旧版本的更新是不容易的; 依赖项构件从远程存储库下载,然后存储在gradle缓存中,并在后续构建中重用;但项目的成功编译不能依赖于与Internet的连接、远程存储库的可用性以及这些存储库中依赖项的特定版本的存在。 null

  • 内置。gradle我们将依赖项指定为 运行gradle cleanEclipse设置项目(将jar添加到类路径) 然而,对于某些API,只有maven依赖项可用(我试图从中运行jersey 2.x示例包)https://jersey.java.net/download.html它只提供pom。(xml) 编辑:我知道我可以指定编译组:'groupId',名称:'artifactId',版本:'ve