我有一个简单的 build.gradle,它引入了一些 java 依赖项。在我的 Mac 上,gradle 一直说它无法解析任何 jar 的依赖关系。昨天才开始出现这种情况,重启并不能解决这个问题。我尝试在 Linux 上运行该项目,一切都按预期进行。知道我的 mac 是怎么回事吗?
Cause 2: java.lang.InternalError
[...]
at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:92)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:87)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:288)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:255)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121)
at org.apache.ivy.util.XMLHelper.getDocBuilder(XMLHelper.java:208)
at org.apache.ivy.util.XMLHelper.parseToDom(XMLHelper.java:193)
at org.apache.ivy.plugins.parser.m2.PomReader.<init>(PomReader.java:95)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.GradlePomModuleDescriptorParser.parseDescriptor(GradlePomModuleDescriptorParser.java:91)
[...]
Caused by: java.util.zip.ZipException: error in opening zip file
当我在 Linux 上运行时,一切正常。
这是我的 build.gradle 文件:
buildscript {
repositories {
mavenCentral()
}
}
task wrapper(type: Wrapper) {
gradleVersion = '1.7'
}
apply plugin: 'scala'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile 'org.scala-lang:scala-library:2.10.3'
compile('com.twitter:finagle-core_2.10:6.9.0') {
exclude group: 'junit', module: 'junit'
exclude group: 'org.mockito', module: 'mockito-all'
exclude group: 'org.scala-tools.testing', module: 'specs_2.10'
exclude group: 'org.scalatest', module: 'scalatest_2.10'
}
compile('com.twitter:finagle-http_2.10:6.9.0') {
exclude group: 'junit', module: 'junit'
exclude group: 'org.mockito', module: 'mockito-all'
exclude group: 'org.scala-tools.testing', module: 'specs_2.10'
exclude group: 'org.scalatest', module: 'scalatest_2.10'
}
compile 'com.fasterxml.jackson.module:jackson-module-scala_2.10:2.3.0'
}
使用 Java 7 和 Gradle 1.7
最佳答案
尝试删除 Maven 和/或 gradle 缓存以查找会产生问题的依赖项,或者完全删除:
rm -rf ~/.gradle/
rm -rf ~/.m2/repository/
请注意,后者可能会导致下次运行构建时出现大量网络流量和构建时间!
关于java - Mac 无法使用 gradle 解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20530330/