8

我是 gradle 的新手,但我正在进行的项目的构建已经独立工作了几个月。今天我尝试“分级”它,我得到一个相当神秘的错误......

bobk-mbp:DM_Server bobk$ gradle
:clean
:readme
:compileJava

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Artifact 'org.apache.james:apache-mime4j:0.6@jar' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.114 secs

问题是我在我的依赖项部分对 org.apache.james:apache-mime4j 没有任何明确的依赖关系,所以它一定是来自其他东西。我如何确定我的哪些依赖项实际上需要这个,然后,我如何克服或解决这个缺失的工件?

4

1 回答 1

11

那很有趣。maven 的 dependency:tree 的 gradle 等价物是

gradle dependencies
compile - Classpath for compiling the main sources.
+--- com.google.guava:guava:11.0.2 [default]
|    \--- com.google.code.findbugs:jsr305:1.3.9 [compile,master,runtime]
...
+--- org.jboss.resteasy:resteasy-multipart-provider:2.3.0.GA [default]
|    +--- javax.mail:mail:1.4.4 [compile,master,runtime]
|    |    \--- javax.activation:activation:1.1 [compile,master,runtime]
|    +--- org.apache.james:apache-mime4j:0.6 [compile,master,runtime]

这表明我对詹姆斯的依赖是通过 resteasy 进入的。仅此知识是没有帮助的。看来我的本地缓存已经坏了。核对本地 m2 缓存 (~/.m2) 解决了这个问题(我开始 rm -rf 一次一个包,但很快就变老了)。

rm -rf ~/.m2

显然,我需要了解很多关于这个基础设施的知识。我确信有更好的方法来做到这一点。

于 2012-06-12T19:00:38.613 回答