xsd - jaxb2-maven-plugin 和多个 xsd 模式生成问题
问题描述
我创建了一个微型 Maven 项目,可以完全重现我的问题。
我有多个 java 类(带有 Xml 注释),我想通过 jaxb2-maven-plugin 生成相应的 xsd 模式。
当我执行“mvn clean compile”时,出现此错误:
[ERROR] : class org.apache.xml.serializer.ToXMLSAXHandler cannot be cast to class org.apache.xml.serializer.SerializationHandler (org.apache.xml.serializer.ToXMLSAXHandler is in unnamed module of loader java.net.URLClassLoader @314b7945; org.apache.xml.serializer.SerializationHandler is in unnamed module of loader java.net.URLClassLoader @68c87fc3)
如果我删除这个 Xalan 依赖项,一切都会完美运行。
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
</dependency>
重要提示:我需要在我的真实项目中保持这个 Xalan 依赖!
重要 2:如果我在 pom.xml 上评论两个执行之一,xsd 生成效果很好
重要 3:我正在使用 Java OpenJdk 15
如何保持 Xalan 依赖并获得多个 xsd 模式生成工作?
谢谢!
解决方案
我终于通过在 Xalan 依赖项中添加“范围运行时”解决了我的问题:
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
<scope>runtime</scope>
</dependency>
现在 xsd 模式生成工作正常。
推荐阅读
- javascript - 在加载应用程序时在 VUEX 状态下使用 Axios 并在组件中使用 AXIOS
- angular - 如何处理角度 10 中的间隔内存泄漏?
- javascript - Javascript:对齐并行数组索引避免重叠
- javascript - React JS 在生产构建中进行 API 调用
- vba - 我正在尝试单击网页上的一个按钮,该按钮是使用 VBA 的图像
- html - 如何在网站容器的一定宽度内显示固定数量的模板卡片
- c# - WPF - 在 Wrappannel 中显示图像和文本框
- javascript - NEXT.JS - 错误:导出在以下路径遇到错误:/blogs/:post
- html - 压缩 html 文件,所以我可以通过电子邮件发送它
- html - 设置一个透明的滚动条,在其后面可见背景图像