造成原因:java.lang.NoSuchMethodError:com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource

时间:2018-12-13 08:08:19

标签: java nosuchmethoderror

我正在使用openjdk11,使用maven进行构建时出现错误。

以下是我在日志中遇到的错误:

Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing org.jvnet.jaxb1.maven2:maven-jaxb1-plugin:1.0-rc10:generate: java.lang.NoSuchMethodError

我已经创建了自己的openjdk11 rpm,我想我不确定是否在rpm中包含一些文件

我该如何解决?

1 个答案:

答案 0 :(得分:1)

JDK 9+上的开发人员可以在类路径上部署Java EE和CORBA技术的独立版本,或在命令行上使用--add-modules标志来解析JDK运行时映像中的模块。 如果您希望在最新的JDK上编译或运行应用程序,则可以查找和部署Java EE技术的替代版本。

添加包含所需类的第三方依赖项。最简单的方法是坚持参考实现(考虑到Maven坐标而不使用版本-使用最新版本):

JAF:带有com.sun.activation:javax.activation

CORBA:目前没有用于此的人工产物

JTA:javax.transaction:javax.transaction-api

JAXB:com.sun.xml.bind:jaxb-impl

JAX-WS:com.sun.xml.ws:jaxws-ri

常用注释:javax.annotation:javax.annotation-api