gpt4 book ai didi

java - Gradle mavenLocal 找到 jar 但不包含进行编译

转载 作者:行者123 更新时间:2023-12-01 23:34:25 25 4
gpt4 key购买 nike

build.gradle中我有:

repositories {
mavenLocal()
mavenCentral()
}

dependencies {
compile 'com.test:test:1.2.1'
}

gradlew build 找到了 jar,但我无法使用 jar 中的任何类,因为我刚刚得到:

error: cannot find symbol
symbol: class MatrixMessageHandler

是否还需要执行其他步骤才能在项目中使用该 jar?

编辑:我怀疑这是一个 gradle 的事情。该 jar 依赖于 activemq-broker-5.8.0,但 gradle 忽略它并使用本地 Maven 存储库中不存在的 5.15.8。我怀疑这就是导致问题的原因:

11:12:41.670 [DEBUG] [io.spring.gradle.dependencymanagement.internal.VersionConfiguringAction] Using version '5.15.8' for dependency 'org.apache.activemq:activemq-broker:5.8.0'

出于某种原因,gradle 正在制作一个随机版本来替换本地 Maven 存储库中的版本 (5.8.0)

最佳答案

出于某种原因,gradle 正在用以前的版本替换依赖项的有效版本:

11:12:41.670 [DEBUG] [io.spring.gradle.dependencymanagement.internal.VersionConfiguringAction] Using version '5.15.8' for dependency 'org.apache.activemq:activemq-broker:5.8.0'

5.15.8 曾经位于本地 maven 存储库的 pom 中,但我删除了该版本的 jar 并删除了 gradle 缓存,但我无法获取gradle 忘记它。

rm -r ~/.gradle/caches/*

本地 Maven 存储库中不存在先前的依赖项:

org.apache.activemq:activemq-broker:5.15.8

本地 Maven 存储库中存在最新的依赖项:

org.apache.activemq:activemq-broker:5.8.0

解决方案是强制 gradle 使用最新的依赖项:

compile 'org.apache.activemq:activemq-broker:5.8.0'

如果您不知道依赖项是什么,则这不是一个选项。在这种情况下,我在开发项目时就这样做了。清除全局缓存没有任何作用,因此我删除了 build 目录,从 build.gradle 中删除了上面的行,现在它可以工作了。

因此,真正的问题似乎是 gradle 由于陈旧的缓存/构建而无法解决 mavenLocal() 中的依赖关系。

关于java - Gradle mavenLocal 找到 jar 但不包含进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53741158/

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