Java编译错误信息提示java.lang.ExceptionInInitializer解决

错误提示

错误提示信息为:

Error:java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags

如果使用 Maven 错误信息是一样的。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.449 s
[INFO] Finished at: 2020-02-26T08:34:45-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project core-java-annotations: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

请问这是什么原因呢?

这个可能原因是你编译器的环境使用过高。但是你的依赖

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.6.12</version>
            <scope>provided</scope>
        </dependency>

过低导致的。

可以解决的办法是将你的编译 JDK 降到 1.8。

或者将 org.projectlombok 升级到最新的版本。

例如我们在 IntelliJ 中,使用 1.8 编译代码,就没有错误。

以上就是Java编译错误信息提示java.lang.ExceptionInInitializer的详细内容,更多关于Java编译错误信息提示的资料请关注我们其它相关文章!

(0)

相关推荐

  • Maven在Java8下如何忽略Javadoc的编译错误详解

    JavaDoc简介And基础知识 (一) Java注释类型 //用于单行注释. /*...*/用于多行注释,从/*开始,到*/结束,不能嵌套. /**...*/则是为支持jdk工具javadoc.exe而特有的注释语句. 说明:javadoc 工具能从java源文件中读取第三种注释,并能识别注释中用@标识的一些特殊变量(见表),制作成Html格式的类说明文档.javadoc不但能对一个 java源文件生成注释文档,而且能对目录和包生成交叉链接的html格式的类说明文档,十分方便. (二)Java

  • java利用JEXL实现动态表达式编译

    背景 做项目突然遇到这样的需求: 系统要获取多个数据源的数据,并进行处理,最后输出多个字段.字段的计算规则一般是简单的取值最多加一点条件判断. 而且需要动态变动!!例如一个字段a的取值,如果a > 10的时候输出10,a <= 10则输出a.这里的10可能在一天后改成8,也可能在后天就改成了12.当然,如果只是一个数字的变动还好说,我们可以使用数据库进行存储.但是,万一哪天需求突然变成了a < 10的时候输出10,a >=10 则输出a,就需要对代码改动,再测试再发布才能到生产环境

  • 解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)

    解决java编译错误( 程序包javax.servlet不存在javax.servlet.*) 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax.servlet.http 不存在 等错误 由于servlet和JSP不是Java平台JavaSE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置. 解决"软件包 javax.servlet不存在"错误的方法: 1. 搜索servle

  • java编译后的文件出现xx$1.class的原因及解决方式

    java编译后的文件名字带有$接数字的就是匿名内部类的编译结果,接名字的就是内部类的编译结果 例如: TestFrame$1.class是匿名内部类的编译结果,TestFrame$MyJob.class则是内部类MyJob编译后得到的. 使用内部类可以隐藏一些实现的细节, 等等, 还有其他一些好处. 使用匿名类的时候, 要注意代码的可读性 补充知识:JNI之javah使用时报错:找不到类文件 初学java,想使用JNI,在用javah生成头文件时,总是报错找不到类: 看了javah的help,本

  • Java编译错误信息提示java.lang.ExceptionInInitializer解决

    错误提示 错误提示信息为: Error:java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags 如果使用 Maven 错误信息是一样的. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] -----------------------

  • 基于Turbo C(V2.0)编译错误信息的详细介绍

    说明:Turbo C 的源程序错误分为三种类型:致命错误.一般错误和警告.其中,致命错误通常是内部编译出错:一般错误指程序的语法错误.磁盘或内存存取错误或命令行错误等:警告则只是指出一些得怀疑的情况,它并不防止编译的进行. 下面按字母顺序A-Z分别列出致命错误及一般错误信息,英汉对照及处理方法: (一).致命错误英汉对照及处理方法: A-B致命错误 Bad call of in-line function (内部函数非法调用)分析与处理:在使用一个宏定义的内部函数时,没能正确调用.一个内部函数以

  • java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识. 用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库. 使用的开发工具:MyEclipse Professional 2014 二.设计 我们管理的属性有:项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间.科研项目系统主要有四个功能,对科研项目的增加.删除.修改.查询.以及为增加系统安全性所设计的登

  • DOS命令行下常见的错误信息

    大家在使用DOS的过程中,经常在命令行方式下遇到一些错误信息提示,由于往往是英文的,导致一些人看到后不知是怎么回事,更不知该如何解决了.下面,我就将常见的DOS命令行方式下的错误信息向大家介绍一下. [英文] Bad command or file name  [译文] 错误的命令或文件名 错误原因和解决: 这大概是大家最常见到的错误提示了,它的意思是输入的命令无效.当输入的命令既不是DOS内部命令,而且系统在查找路径或指定路径中找不到相应的可执行文件的话,就会出现此错误信息.您可以检查输入的命

  • Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError的解决方法

    解决方法 首先把方法写出来,起因和经过和原理写在后面,时间仓促的直接看解决方法吧. 一般出现这个错都是使用的provided导致的 例如,我的旧配置如下: Project build.gradle文件: buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.1' // need delete in gradle3.x version classpath 'com.neenbedankt.gradle.

  • java使用枚举封装错误码及错误信息详解

    目录 枚举封装错误码及错误信息 用法如下 封装返回结果类和枚举错误码 枚举错误码 封装返回结果类 枚举封装错误码及错误信息 使用枚举类型来封装project中所需要的错误码和错误信息,十分方便. 用法如下 package com.dear.simpler.dbservice; /** * * @author lixiang *使用枚举类型来封装异常码和异常信息 * */ public enum DBServiceError { //RPC层调用错误码 DB_SERVICE_OK(20100,"服

  • java编译时与运行时概念与实例详解

    Java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念. 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,.另外还有啥链接器.汇编器.为了了便于理解我们可以统称为编译器) 那编译时就是简单的作一些翻译工作,比如检查老兄你有没有粗心写错啥关键字了啊.有啥词法分析,语法分析之类的过程.就像个老师检查学生的作文中有

  • 浅析Java Web错误/异常处理页面

    发生服务器 500 异常,如果默认方式处理,则是将异常捕获之后跳到 Tomcat 缺省的异常页面,如下图所示. 不论哪个网站都是一样的,所以为了满足自定义的需要,Tomcat 也允许自定义样式的.也就是在 web.xml 文件中配置: <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> 首先说说自带的逻辑.如果某

  • java源码阅读之java.lang.Object

    Object是所有类的父类,任何类都默认继承Object.Object类到底实现了哪些方法? 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. 2.getClass方法 final方法,获得运行时类型. 3.toString方法 该方法用得比较多,一般子类都有覆盖. 4.finalize方法 该方法用于释放资源.因为无法确定该方法什么时候被调用,很少使用. 5.equals方法 该

随机推荐