一尘不染

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

hibernate

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

还有其他解决方法吗?


阅读 2234

收藏
2020-06-20

共1个答案

一尘不染

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

似乎(未经测试)您需要的是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>

记住要删除编译器参数!

2020-06-20