fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

[BUG] apt-codegen 生成Writer失败

Open wssy001 opened this issue 8 months ago • 0 comments

问题描述

@Getter
@Setter
@JSONCompiled
public class GroupRes2DTO implements Serializable {
    @JSONField(name = "group_create_time", format = "unixtime")
    private Date name;
}

目前发现只要类中包含这个注解@JSONField(name = "group_create_time")就无法正常生成相关的FASTJSONReaderFASTJSONWriter,测试项目:example-graalvm-native

环境信息

请填写以下信息:

  • OS信息: MacOS 14.4.1 M3 Pro
  • JDK信息: Oracle GraalVM 21.0.3+7.1 (build 21.0.3+7-LTS-jvmci-23.1-b37)
  • 版本信息: FastJSON2 2.0.51

相关日志输出

编译器 (21.0.3) 中出现异常错误。如果在 Bug Database (https://bugs.java.com) 中没有找到有关该错误的 Java 编译器 Bug,请通过 Java Bug 报告页 (https://bugreport.java.com) 提交 Java 编译器 Bug。请在报告中附上您的程序、以下诊断信息以及传递到 Java 编译器的参数。谢谢。
java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.tree.JCTree.accept(com.sun.tools.javac.tree.JCTree$Visitor)" because "tree" is null
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStats(Attr.java:755)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1439)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1092)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitIf(Attr.java:2249)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1572)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitIf(Attr.java:2261)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1572)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStats(Attr.java:755)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1439)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1092)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1229)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:916)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5655)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5543)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5367)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:970)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:814)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribStat(Attr.java:736)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:5655)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5543)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attribClass(Attr.java:5367)
	at jdk.compiler/com.sun.tools.javac.comp.Attr.attrib(Attr.java:5306)
	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1359)
	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:976)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
	at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:136)
	at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:183)
	at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1140)
	at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:193)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
	at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
	at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
	at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
	at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:193)
	at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:180)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
[INFO] 由于在类路径中发现了一个或多个处理程序,因此启用了
  批注处理。未来发行版的 javac 可能会禁用批注处理,
  除非至少按名称指定了一个处理程序 (-processor),
  或指定了搜索路径 (--processor-path, --processor-module-path),
  或显式启用了批注处理 (-proc:only, -proc:full)。
  可使用 -Xlint:-options 隐藏此消息。
  可使用 -proc:none 禁用批注处理。
[INFO] /Users/tyler/workspace/Native Image/graalvm-test/src/main/java/cyou/wssy001/TestDTO.java: 某些输入文件使用了未经检查或不安全的操作。
[INFO] /Users/tyler/workspace/Native Image/graalvm-test/src/main/java/cyou/wssy001/TestDTO.java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING : 
[INFO] -------------------------------------------------------------
[WARNING] 来自批注处理程序 'com.alibaba.fastjson2.internal.processor.JSONBaseAnnotationProcessor' 的受支持 source 版本 'RELEASE_8' 低于 -source '21'
[WARNING] 来自批注处理程序 'com.alibaba.fastjson2.internal.processor.JSONCompiledAnnotationProcessor' 的受支持 source 版本 'RELEASE_8' 低于 -source '21'

wssy001 avatar Jun 23 '24 07:06 wssy001