如何解决 java.lang.NoClassDefFoundError: javax/annotation/Generated?

新手上路,请多包涵

我在我的项目中将 jdk 更改为 9 版本,然后发生错误:

 Error:java: java.lang.NoClassDefFoundError: javax/annotation/Generated

我尝试通过向 pom.com 添加以下内容来解决它,但它对我不起作用:

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>${version.compiler.plugin}</version>
   <configuration>
       <!-- fork is needed so compiler args can be used -->
       <fork>true</fork>
       <compilerArgs>
           <arg>-J--add-modules</arg>
           <arg>-Jjava.annotations.common</arg>
       </compilerArgs>
   </configuration>
</plugin>

有没有其他办法解决?

原文由 ziki 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

将包含您需要的类的工件添加到类路径中。

看来 javax.annotation API 是您所需要的。有关详细信息,请参阅 https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.3.2 。您可以将以下依赖项添加到您的项目中,并且它应该存在:

 <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

请记住删除编译器参数!

原文由 Thorbjørn Ravn Andersen 发布,翻译遵循 CC BY-SA 4.0 许可协议

implementation 'javax.annotation:javax.annotation-api:1.3.2'
annotationProcessor("javax.annotation:javax.annotation-api:1.3.2")

原文由 askxionghu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题