我正在参与Gradle项目。当我执行gradle run
时,项目会下载依赖项并且运行得非常好。这是我的build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'application'
mainClassName = 'myProject.MyMainClass'
repositories {
mavenCentral()
}
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.7'
compile 'org.jsoup:jsoup:1.7.2'
testCompile "junit:junit:4.11"
}
jar {
baseName = 'myproject-service'
version = '0.1.0'
}
task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}
现在我想在Intellij IDEA中导入项目。
导入Gradle项目>>使用默认gradle包装器(推荐)>>行
但是,当我点击OK时会出现一个对话:
无法初始化类javax.crypto.SunJCE_b
查看日志,它说
org.gradle.tooling.GradleConnectionException: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-2.3-bin.zip'.
...
Caused by: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
at javax.crypto.KeyGenerator.a(DashoA13*..)
...
2015-03-18 21:31:17,751 [2354198] WARN - nal.AbstractExternalSystemTask - Could not initialize class javax.crypto.SunJCE_b
com.intellij.openapi.externalSystem.model.ExternalSystemException: Could not initialize class javax.crypto.SunJCE_b
at org.jetbrains.plugins.gradle.service.project.AbstractProjectImportErrorHandler.createUserFriendlyError(AbstractProjectImportErrorHandler.java:106)
...
我不知道如何让这个项目发挥作用。如果没有这个,我从外部存储库导入的任何内容都不能在IDEA中运行(它们都显示为红色)。任何帮助,将不胜感激。我在:
答案 0 :(得分:1)
<强> SOLUTION:强>
仍然不知道问题是什么。我尝试了我在网上找到的所有建议以及我能想到的一切:安装不同版本的java,安装不同的IDEA,尝试使用原始加密策略文件,尝试使用无限强度策略文件等等。这些都不起作用。
然而,有效的是选择“使用本地gradle分发”,而不是使用默认包装器。我通过运行which gradle
找到了我的gradle安装路径(/usr/local/gradle-2.3)(它将为您提供可执行文件的路径,即/usr/local/gradle-2.3/bin/gradle) ,但我刚拿了目录部分)。现在我可以使用gradle构建!!
我最好的猜测是gradle插件安装了一些其他没有为我的项目正确设置的gradle分发。
我希望这对任何在Intellij IDEA中使用gradle的人都有帮助。