【问题标题】:Intellij IDEA can't import Gradle project - "Could not initialize class javax.crypto.SunJCE_b"Intellij IDEA 无法导入 Gradle 项目 - “无法初始化类 javax.crypto.SunJCE_b”
【发布时间】:2015-05-22 03:41:26
【问题描述】:

我正在开发一个 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 中工作(它们都显示为红色)。任何帮助,将不胜感激。我在:

  • Intellij IDEA 13.1.6
  • Java EE 7 (jdk1.7.0_75.jdk)
  • Gradle 2.3
  • Mac OS X

【问题讨论】:

    标签: java intellij-idea gradle


    【解决方案1】:

    解决方案:

    仍然不知道问题是什么。我尝试了所有我能在网上找到的建议以及我能想到的一切:安装不同版本的 java,安装不同的 IDEA,尝试使用原始密码策略文件,尝试使用无限强度策略文件等等。这些都不起作用。

    但是,起作用的是选择“使用本地 gradle 分发”,而不是使用默认包装器。我给了它我的 gradle 安装路径 (/usr/local/gradle-2.3),通过运行 which gradle 找到(这将为您提供可执行文件的路径,即 /usr/local/gradle-2.3/bin/gradle,但是我只是拿了目录部分)。现在我可以使用 gradle 构建了!!

    我最好的猜测是 gradle 插件安装了其他一些没有为我的项目正确设置的 gradle 发行版。

    我希望这对在 Intellij IDEA 中使用 gradle 的其他人有所帮助。

    【讨论】:

    • 升级到 2016.3 后,maven 也出现了同样的问题——使用我本地安装的 maven 而不是捆绑版本也解决了我的问题。数字吻向你袭来!
    猜你喜欢
    • 2014-01-26
    • 2014-09-16
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 2016-07-28
    • 2021-06-20
    相关资源
    最近更新 更多