每次我在IntelliJ中遇到这个异常时,我都会轻易修复它并轻易忘记修复.
码:
package whatever;
import org.junit.Test;
public class TestClass
{
@Test
void test() {}
}
Run Code Online (Sandbox Code Playgroud)
场景:
TestClass.TestClass."消息构建"窗格显示:
Information:javac 9-ea was used to compile java sources
Information:Module "dummy" was fully rebuilt due to project configuration/dependencies changes
Information:8/16/17 11:35 PM - Compilation completed with 1 error and 0 warnings in 1s 663ms
Error:java: java.lang.ExceptionInInitializerError
Run Code Online (Sandbox Code Playgroud)
什么可能出错?
这个简单场景中可能出现的问题是什么?
IntelliJ:社区2017.1(idea-IC-171.4424.56)
uvs*_*tid 12
为了解决这个问题,我做了:
细节
显然,这个问题是在选定的JDK-S打造(Java 9)和run(Java 8)不符.
我不确定在同一个项目中如何重新选择"9-ea" - IntelliJ本身都不会在"9-ea"JRE(根据帮助 - >关于)中运行,也不 JAVA_HOME会将env var设置为它或其他可能设置(如Maven - > Runner)建议任何"9-ea".
我也没有设法在相同的JDK(java 9)下运行测试.但是,目前尚不清楚JDK测试的运行情况,因为IntelliJ仅报告有关JDK的编译.
如果您使用 Lombok:对我来说,这是在 pom.xml 中为我的 maven lombok 依赖项设置最新版本的解决方案。
*<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.8</version>
</dependency>*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7331 次 |
| 最近记录: |