错误:java: java.lang.ExceptionInInitializerError IntelliJ

17

嗨!

我尝试使用JDK 10.0.1和“spring-boot-starter-test”启动Intellij(ultimate)时遇到了一些麻烦。如果我运行主方法,无论其内容如何,无论是否有任何活动测试,编译后运行前都会收到“Error:java: java.lang.ExceptionInInitializerError”的错误。

总之,这导致了错误。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

现在我假设这与Spring Boot测试不兼容JDK 10有关,虽然我倾向于询问,任何解决方法的想法?

更新2 明确一下,这是我从Intellij收到的唯一输出。

Information:javac 10.0.1 was used to compile java sources
Information:2018-05-14 21:04 - Compilation completed with 1 error and 0 warnings in 2 s 381 ms
Error:java: java.lang.ExceptionInInitializerError

构建、版本和依赖关系在此处

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>10</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

你能分享一下失败的日志吗?它是在哪个阶段失败的,你使用的依赖/插件版本是什么? - Naman
当我按运行按钮时,它会在消息/控制台面板中输出任何内容之前失败。已更新主帖子的依赖项、构建等信息。 - Kavzor
4个回答

33
在您的情况下,问题出在Lambook上。Lombok目前不支持JDK10。如果您注释掉依赖项,则该项目可以编译而无错误(我已经检查过)。 以下是完整的错误堆栈(如果在控制台中运行mvn compile):

`Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags`


1
我从未想过 mvn compile 可以提供额外的信息,谢谢 borino。 - Kavzor

9

将 Lombok 更新到最新版本。在我的情况下有帮助。 以下是最新的 Lombok 链接: https://projectlombok.org/download 如果需要可以修改您项目中的 .pom 文件(通过更改 lombok 版本名称)。


1
至少 Lombok 版本 1.18.12 对我有效。

0

在配置下的 VM 选项中添加 JMockit.Jar 的位置:

javaagent:C:/.../.../jmockit.jar


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接