当前位置: 首页 > 面试题库 >

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

林彬
2023-03-14
问题内容

我在项目中将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>

还有其他解决方法吗?


问题答案:

将包含所需类的工件添加到类路径。

似乎(未经测试)您需要的是javax.annotated
API。有关详细信息,请参见https://mvnrepository.com/artifact/javax.annotation/javax.annotation-
api/1.3.1
。您可以将以下依赖项添加到项目中,就像其他任何依赖项一样,它应该存在:

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

记住要删除编译器参数!



 类似资料:
  • 问题内容: 安装android sdk工具时,会发出以下错误: java.lang.NoClassDefFoundError:javax / xml / bind / annotation / XmlSchema 为什么会发生这种情况,如何解决? 调试输出: 问题答案: 今天早上,我遇到了类似的问题(试图使用Unity3D为Android构建)。我最终卸载了JDK9并安装了Java SE Deve

  • 本文向大家介绍详解Java如何创建Annotation,包括了详解Java如何创建Annotation的使用技巧和注意事项,需要的朋友参考一下 前言 注解是Java很强大的部分,但大多数时候我们倾向于使用而不是去创建注解。例如,在Java源代码里不难找到Java编译器处理的@Override注解,Spring框架的@Autowired注解, 或Hibernate框架使用的@Entity 注解,但我

  • 问题内容: 我编写了一个小的hibernate应用程序,并获得以下stacktrace: 我不明白这个错误的原因。 码: 我的pom.xml: 我已经阅读了相关主题,但是我真的不知道如何解决它-我不想推出Hibernate 4.0版本。 如何解决? 问题答案: Hibernate Validator 5x与validation-api 1.0.x不兼容 JPA 2.0:在JPA2.0中使用java

  • 问题内容: 我正在尝试编写简单的Java代码,以在控制台上显示MongoDB集合。我在类路径中添加了mongodb-driver-3.0.0.jar。 但是,当我尝试执行代码时,它在数据库连接行给了我以下错误: 线程“主”中的异常java.lang.NoClassDefFoundError:com.montan.app.MongoDbJdbc.main(MongoDbJdbc.java:12)上的

  • 问题内容: 我试图通过我的Web项目上的applet访问客户端的临时目录。 当我自己运行小程序时,它毫无问题地得到了。 当我尝试使用javascript并调用applet方法在我的项目上获取它时,我在javascript控制台上运行。当我尝试读取temp目录下的文件时,我也遇到同样的异常。 这正是我所看到的: 怎么解决? 问题答案: 最简单的解决方案是对applet进行签名。