将grails应用程序从Java 8切换到Java> = 9(实际上是使用Java 11进行测试)时,我会遇到不同的ClassNotFound异常。
问题是,某些Java EE API模块被标记为@Deprecated(forRemoval = true),因此它们可以在Java 11中删除。
我已经升级了另一个应用程序,该应用程序具有Maven pom.xml文件。 添加这些部门可以解决问题:
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
但是现在我必须更新一个没有pom文件的应用程序。现在,我已经在IntelliJ中导入了该项目。我试图添加一个Maven / pom.xml,但是每次我建立爆炸战争并与Jetty一起运行时,都找不到部门。
Resolve java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
添加这些缺失的deps(使用或不使用Maven)的建议方法是什么?