升级到JDK8,编译时发生 Error:java: java.lang.ExceptionInInitializerError

编译的时候出现这个问题。使用1.7的jdk没问题,但是由于po主的项目中,使用了java8编写的代码,解决java8兼容问题成为解决这个问题的首选方案。

这个日志太过简单,只告知一个异常信息,这个异常发生的原因主要是由于静态类,静态变量初始化时发生了异常,po的项目是个很早的项目,静态类太多,无法直接定位异常信息到底是如何产生,控制台也没有输出堆栈,这给排查问题带来了极大的不便,第一个要解决的应该就是讲详细的堆栈信息输出,能方便的定位到问题的根源。

注意到第三条Infomation,Compliation completed with 1 error..... 这说明,异常产生时是在编译阶段,先去看看Idea的build的日志。日志的目录在

/Users/xxxx/Library/Logs/IdeaIC2016.1/build-log

打开bulid.log,可以看到具体的异常的堆栈信息。

从堆栈的信息来看,lombok.javac.Javac.getCtcInt 应该是出现了类冲突的问题,这个类应该是IDEA的自有类发生的异常,是IDEA的Bug.

然后万能的google下后,

https://intellij-support.jetbrains.com/hc/en-us/community/posts/205434150-IDEA-2016-3-compile-error-please-help-

这个同学发生了相同的问题,检查了下我的IDEA的版本,这位同学的IDEA版本是 2016.3。po下我的:

IntelliJ IDEA 2016.1.1

Build #IC-145.597, built on March 29, 2016
JRE: 1.8.0_40-release-b132 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

版本还比较这位同学的要旧一些,所以!先升级一下IDEA吧!升级去了,待会来po是不是已经解决!

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Monaco; color: #f5f5f5; background-color: #000000 }
span.s1 { }
span.Apple-tab-span { white-space: pre }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Monaco; color: #f5f5f5; background-color: #000000 }
span.s1 { }

时间: 2024-10-13 10:21:40

升级到JDK8,编译时发生 Error:java: java.lang.ExceptionInInitializerError的相关文章

php安装编译时 configure: error: Cannot find OpenSSL's <evp.h>

=============================================== yum install error: protected multilib versions error===============================================sudo yum downgrade openssl 降级sudo yum install openssl-devel ===另外参考====================================

STM32初学Keil4编译时出现 Error:Failed to execute 'BIN40/Armcc'

一种是在系统开始--运行里输入cmd,查看armcc状态.详情见推文: http://blog.csdn.net/hicui/article/details/7350805(笔记记录,请勿见怪) 都没有问题的话,那么可以尝试: 在keil里的菜单栏依次选择Project->Manage->Components,Environment andBooks(CEB)(或者直接点击工具栏的图标), 然后在CEB里选择Folders/Extensions标签页,在RealView Folder里选择ke

winpcap示例程序采用VC6编译时出错error C2054: expected '(' to follow '_W64'

e:\vehiclesecurity\wpdpack_4_1_2\include\pcap-stdinc.h(80) : error C2054: expected '(' to follow '_W64' e:\vehiclesecurity\wpdpack_4_1_2\include\pcap-stdinc.h(80) : error C2085: 'uintptr_t' : not in formal parameter list e:\vehiclesecurity\wpdpack_4_

【原创】QT:编译时出现 “error: error writing to -: Invalid argument”错误的解决

今天用QT5进行编译工程时,IDE的"问题"窗口提示 "error: error writing to -: Invalid argument". 上网一番搜索,也没有找到方案. 于是,想起伟大的毛主席说过的"自己动手,丰衣足食噻".对工程目录进行地毯式搜索后发现,工程目录下缺少编译中间文件存放目录:Release 和 Debug文件夹. 会不会是那个原因呢? 这时,我又想起某位伟人的一句话"实践是检验真理的唯一标准".试验一

eclipse启动时发生的Initializing Java Tooling错误

eclipse在启动发生An internal error occurred during: "Initializing Java Tooling". java.lang.NullPointerException错误 这是不合理的关闭eclipse才发生的错误,只要删除程序的工作空间下的.project就好,例如:你自己的workspace\.metadata\.plugins\org.eclipse.core.resources\.projects 只要删除了这个文件,重启eclip

调用虚拟内存编译时的error处理

以下两行代码在内核编译时报错. pgd_t *pgd; pgd = pgd_offset(current->mm, vaddr); error如下: error: implicit declaration of function 'pgd_offset' error: dereferencing pointer to incomplete type 错误解决方法: pgd_offset宏定义报错,error: implicit declaration of function 'pgd_offse

《OpenGL编程指南第七版》学习——编译时提示“error C2381: “exit” : 重定义;__declspec(noreturn) 不同”错误的解决办法

解决办法一. #if defined(_WIN32) # ifndef GLUT_BUILDING_LIBextern _CRTIMP void __cdecl exit(int); 上面是glut.h中对exit的使用,意思是如果没有定义宏?GLUT_BUILDING_LIB,就使用它的exit,那我们就在项目的属性--预处理器 里定义这个宏,这样就不执行glut.h中的exit了,而只执行stdlib.h中的exit.这样也就不会冲突了.对了,还要在附加依赖项里手动加上?glut32.lib

解决办法:CMake编译时出现“error in configuration process project files may be invalid”

无论是CMake2.84 还是当前最新的CMake2.87都可能会出现这种错: 查遍国内外的网上都没有给出可行办法,结果还是自己解决了 现把出错原因和解决办法如下:出错原因:因是英文版本,通常安装没有看说明,按默认的安装而"下一步"再下一步,结果是在安装中要选择你所使用的编程系统的,如:Vs2008,vs2010等,如果当前安装的默认值不是你当前用的版本就且在使用时不注意一些细节就会出错,且出错在于当前设置的输出目录已存在时解决办法: 第一种:卸载并重装Cmake,重装时记得选择语言的

转-java编译时error: illegal character '\ufeff' 的解决办法-https://blog.csdn.net/t518vs20s/article/details/80833061

原文链接:https://blog.csdn.net/shixing_11/article/details/6976900 最近开发人员通过SVN提交了xxx.java文件,因发布时该包有问题需要回退,故SCM将该xxx.java文件用editplus打开删除了新添的一行,删除后重新编译打包,却报了如下异常: java:[1,0] illegal character: \65279 表面看着该文件确实没错,看不出来问题,后来从SVN上更新下代码以后,发现本地也不报错,后来通过Eclipse查看了