当前位置: 首页 > 知识库问答 >
问题:

java.lang.NoClassDefFoundError: com/既/镜像/apt/注释处理器工厂时执行发音ant任务

糜昌胤
2023-03-14

尝试使用 Enarticulateciate 为 Java 项目生成文档时,我收到了以下堆栈跟踪。我正在使用JDK 1.8.0_25和发音1.30 RC1。

BUILD FAILED
C:\dev\PayWay\make\build.xml:882: java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory
        at org.codehaus.enunciate.main.EnunciateTask.execute(EnunciateTask.java:93)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
        at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
        at org.apache.tools.ant.Main.runBuild(Main.java:851)
        at org.apache.tools.ant.Main.startAnt(Main.java:235)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: com.sun.mirror.apt.AnnotationProcessorFactory
        at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
        at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1323)
        at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1076)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 17 more

这个问题的原因是什么?

共有1个答案

白侯林
2023-03-14

发音 1.30 RC1 不支持 Java 1.8,因为它依赖于已删除的类。

这是针对吐字2的。

看见https://github.com/stoicflame/enunciate/issues/68

 类似资料:
  • 问题内容: 我有一个自定义注释,它是Processor&ProcessorFactory。如何配置Ant构建文件,使得: 注释处理器应用于带注释的类,并在“ gen”文件夹内生成源文件 生成的源文件(通过注释处理)可以被项目中的其他源文件使用。 问题答案: 这不漂亮,但这是我要做的。(来源javac ant任务 javac手册页)使用compilerarg属性,我可以传入javac ant任务未直

  • null 代码(步骤1和2): 实际上,第一个任务执行良好,并为注释处理器实现编译.class文件。它在第二个任务停止。 Ant说: Java 1.6 Ant 1.8.2

  • 主要内容:1.源码解析,2.常见的工厂后置处理器的实现,3.常见的BeanDefinitionRegistryPostProcessor实现类源码解析1.源码解析 工厂后置处理器的执行 AnnotationConfigApplicationContext.refresh() refresh() -> invokeBeanFactoryPostProcessors() PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors

  • 这是不得已的问题。我在互联网上搜索了所有可能出错的地方,但似乎没有任何工作。我已经创建了一个自定义注释,它应该生成一个资源文件,这些类如下所示: 和 我当前的项目结构是: 当我运行compile ANT任务时,被成功调用,但是从未被调用。我尝试创建处理器和META-INF文件夹的。jar文件,并将其添加到项目构建路径中,但没有成功。我尝试从命令行使用,但仍然一无所获。也许我误解了应该调用方法的时间

  • 建筑格拉德尔 注释 加工机 \资源\META-INF\javax.annotation.processing.处理器 注释消费者 建筑格拉德尔 这应该是一个非常简单的注释处理器,只是打印调试语句。对我来说,这一切似乎都是正确的,但是在我构建/运行项目2时没有运行。我也尝试过覆盖和。那没有做任何事情。也尝试过没有,那也没有改变任何事情。 编辑:为什么我可以获得

  • 需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件: