Java Gradle mavenLocal找到了jar,但没有';不包括编译

Java Gradle mavenLocal找到了jar,但没有';不包括编译,java,gradle,gradlew,Java,Gradle,Gradlew,在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,还需要另外一个步骤吗 编辑:

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,还需要另外一个步骤吗

编辑: 我怀疑这是一个渐变的东西。jar依赖于
activemq-broker-5.8.0
,但gradle忽略了它,并使用本地maven repo中不存在的
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 repo(
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 repo的
pom
中,但我删除了该版本的jar并删除了gradle缓存,但我无法让gradle忘记它

rm -r ~/.gradle/caches/*
本地maven repo中不存在以前的依赖项:

org.apache.activemq:activemq-broker:5.15.8
org.apache.activemq:activemq-broker:5.8.0
本地maven回购协议中存在最新的依赖关系:

org.apache.activemq:activemq-broker:5.15.8
org.apache.activemq:activemq-broker:5.8.0
解决方案是强制gradle使用最新的依赖项:

compile 'org.apache.activemq:activemq-broker:5.8.0'
如果您不知道依赖项是什么,那么这不是一个选项。在这种情况下,我会按照我开发的项目来做。清除全局缓存没有任何作用,因此我删除了
build
目录,从
build.gradle
中删除了上面的行,现在它开始工作了


所以真正的问题似乎是gradle没有在
mavenLocal()中解析依赖项
由于过时的缓存/构建。

compile
是不推荐使用的。执行不起作用。我只是建议
compile
不推荐使用的
并不意味着它可以解决以下问题:p是否可以显示更多错误?这只是一个标准符号找不到错误公共类MessageHandler实现MatrixMessageHandler{^symbol:类MatrixMessageHandler-MatrixMessageHandler位于通过mavenLocal引入的jar中