Java Delombok-InvocationTargetException与JDK1.7
我使用以编程方式生成getter、setter、hashCode、equalas和toString。我和Eclipse luna一起工作。代码在Java Delombok-InvocationTargetException与JDK1.7,java,java-7,lombok,Java,Java 7,Lombok,我使用以编程方式生成getter、setter、hashCode、equalas和toString。我和Eclipse luna一起工作。代码在jdk1.8上运行得非常好,但是当我将版本降级为jdk1.7时,它抛出以下错误: Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.refl
jdk1.8
上运行得非常好,但是当我将版本降级为jdk1.7
时,它抛出以下错误:
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at lombok.launch.Delombok.delombok(Delombok.java:50)
... 4 more
Caused by: java.lang.NoSuchFieldError: NATIVE_HEADER_OUTPUT
at com.sun.tools.javac.file.Locations.initHandlers(Locations.java:654)
at com.sun.tools.javac.file.Locations.<init>(Locations.java:92)
at com.sun.tools.javac.util.BaseFileManager.createLocations(BaseFileManager.java:85)
at com.sun.tools.javac.util.BaseFileManager.<init>(BaseFileManager.java:71)
at com.sun.tools.javac.file.JavacFileManager.<init>(JavacFileManager.java:125)
at com.sun.tools.javac.file.JavacFileManager$1.make(JavacFileManager.java:115)
at com.sun.tools.javac.file.JavacFileManager$1.make(JavacFileManager.java:113)
at com.sun.tools.javac.util.Context.get(Context.java:150)
at com.sun.tools.javac.util.Context.get(Context.java:193)
at com.sun.tools.javac.comp.Enter.<init>(Enter.java:142)
at com.sun.tools.javac.comp.Enter.instance(Enter.java:115)
at com.sun.tools.javac.comp.MemberEnter.<init>(MemberEnter.java:101)
at com.sun.tools.javac.comp.MemberEnter.instance(MemberEnter.java:94)
at com.sun.tools.javac.comp.Attr.<init>(Attr.java:115)
at com.sun.tools.javac.comp.Attr.instance(Attr.java:102)
at com.sun.tools.javac.comp.Resolve.<init>(Resolve.java:122)
at com.sun.tools.javac.comp.Resolve.instance(Resolve.java:158)
at com.sun.tools.javac.comp.Check.<init>(Check.java:111)
at com.sun.tools.javac.comp.Check.instance(Check.java:99)
at com.sun.tools.javac.code.Types.<init>(Types.java:118)
at com.sun.tools.javac.code.Types.instance(Types.java:104)
at com.sun.tools.javac.jvm.ClassReader.<init>(ClassReader.java:291)
at com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:253)
at com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:348)
at lombok.javac.CommentCatcher.create(CommentCatcher.java:40)
at lombok.delombok.Delombok.delombok(Delombok.java:479)
... 9 more
原因:java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
Delombok.launch.Delombok.Delombok(Delombok.java:50)
... 4更多
原因:java.lang.NoSuchFieldError:本机\u头\u输出
位于com.sun.tools.javac.file.Locations.initHandlers(Locations.java:654)
位于com.sun.tools.javac.file.Locations.(Locations.java:92)
位于com.sun.tools.javac.util.BaseFileManager.createLocations(BaseFileManager.java:85)
位于com.sun.tools.javac.util.BaseFileManager。(BaseFileManager.java:71)
位于com.sun.tools.javac.file.JavacFileManager.(JavacFileManager.java:125)
位于com.sun.tools.javac.file.JavacFileManager$1.make(JavacFileManager.java:115)
位于com.sun.tools.javac.file.JavacFileManager$1.make(JavacFileManager.java:113)
位于com.sun.tools.javac.util.Context.get(Context.java:150)
位于com.sun.tools.javac.util.Context.get(Context.java:193)
在com.sun.tools.javac.comp.Enter.(Enter.java:142)
位于com.sun.tools.javac.comp.Enter.instance(Enter.java:115)
在com.sun.tools.javac.comp.MemberEnter.(MemberEnter.java:101)
位于com.sun.tools.javac.comp.MemberEnter.instance(MemberEnter.java:94)
位于com.sun.tools.javac.comp.Attr.(Attr.java:115)
位于com.sun.tools.javac.comp.Attr.instance(Attr.java:102)
位于com.sun.tools.javac.comp.Resolve(Resolve.java:122)
位于com.sun.tools.javac.comp.Resolve.instance(Resolve.java:158)
在com.sun.tools.javac.comp.Check.(Check.java:111)
位于com.sun.tools.javac.comp.Check.instance(Check.java:99)
位于com.sun.tools.javac.code.Types.(Types.java:118)
位于com.sun.tools.javac.code.Types.instance(Types.java:104)
位于com.sun.tools.javac.jvm.ClassReader.(ClassReader.java:291)
位于com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:253)
位于com.sun.tools.javac.main.JavaCompiler.(JavaCompiler.java:348)
创建(CommentCatcher.java:40)
delombok.delombok.delombok.delombok(delombok.java:479)
... 9更多
我的maven依赖项如下所示:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.16.6.1</version>
</dependency>
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>compiler</artifactId>
<version>1.9.5</version>
</dependency>
org.projectlombok
lombok maven插件
1.16.6.1
org.checkerframework
编译程序
1.9.5
有人能解释一下吗?即使使用包含上述依赖项的pom的简单hello world程序,也会出现这个问题,因此代码中没有任何真正的依赖项?这是生成时错误还是运行时错误?这是运行时错误。身材很好。我现在搜索了一下,发现
JDK1.8
中引入了NATIVE\u HEADER\u OUTPUT
,因此抛出了我提到的错误。但我找不到如何修复它(即使在使用包含上述依赖项的pom的简单hello world程序时,是否也会出现此问题,因此代码中没有任何真正的依赖项?这是构建时错误还是运行时错误?这是运行时错误。构建很好。我现在在谷歌上搜索了一下,发现本机\u头\u输出
已输入。)在JDK 1.8中产生,因此抛出了我提到的错误。但我找不到如何修复它:(