我们刚刚将我们的项目迁移到了java 11,我们在pom中为jaxb &co包配置了新的依赖项,这些包存在于jdk-8中,但在jdk-11中被删除。
我们没有预料到的是,对于同一包的不同类,部署插件在执行其任务时出现了一个丑陋的错误,重复了7次。
org.jboss.resteasy.plugins.providers.jaxb.JAXBXmlSeeAlsoProvider :无法加载内置提供程序:NoClassDefFoundError
这并不是一个很大的惊喜。实际上,我们为jaxb及其在pom中声明的依赖项是为了使所需的库包含在应用程序包中,因为它们在JDK中不再可用。但是deploy-it有它自己的依赖关系。不,诀窍是如何告诉它依赖jaxb?
我考虑了几种选择:
--add-modules java.xml.bind作为文档化的这里,但是插件似乎不接受其配置中的<argLine>部分。我在网上彻底搜索了如何为maven插件配置依赖项,甚至在这个主题上也没有找到多少信息。最多我发现了目标dependency:resolve-plugins,它在理论上为您提供了插件的依赖树,但似乎对deployit没有多大作用。
不管怎么说,我觉得我的问题可能并不少见,所以我可能是在搜索错误的关键字。有人知道这件事的线索吗?
发布于 2020-10-07 17:47:01
这个问题的解决方案是使用maven工具链插件在JDK11中编译,同时仍然在JDK 8中运行Maven。
https://stackoverflow.com/questions/64140389
复制相似问题