XMLBeans 5.0.1及对应maven插件生成Schema类失败问题求助
解决方案
1. 修正插件坐标并升级到最新稳定版
Apache XMLBeans 5.x版本官方插件的正确配置如下,直接替换你现有配置即可:
<plugin> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans-maven-plugin</artifactId> <version>5.2.0</version> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> <configuration> <sourceDir>${basedir}/xsd</sourceDir> <!-- 建议生成代码放在target目录,避免手动修改或旧代码残留 --> <javaTargetDir>${project.build.directory}/generated-sources/xmlbeans</javaTargetDir> <debug>true</debug> </configuration> <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.20.0</version> </dependency> <!-- 可选:如果仍需兼容旧的xml.stream包类,添加以下依赖 --> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans-xmlstream</artifactId> <version>1.0.1</version> </dependency> </dependencies> </plugin>
同时需要在项目全局依赖中添加和插件版本一致的核心依赖:
<dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>5.2.0</version> </dependency> <!-- 如果插件里加了xmlbeans-xmlstream,项目依赖里也同步添加 --> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans-xmlstream</artifactId> <version>1.0.1</version> </dependency>
2. 清理旧生成代码
如果你之前把生成代码放在了src/main/java目录,先删除该目录下之前生成的XMLBeans相关类,避免旧代码残留的无效import导致编译报错。
3. 替换已废弃API(推荐长期方案)
如果是你自己编写的业务代码中引用了org.apache.xmlbeans.xml.stream包下的类,直接替换为JDK原生的标准StAX API即可:
- 缺失的
XMLInputStream替换为javax.xml.stream.XMLStreamReader - 缺失的
XMLStreamException替换为javax.xml.stream.XMLStreamException
JDK8及以上版本都内置了上述类,无需额外引入依赖。
内容的提问来源于stack exchange,提问作者Gomathy
相关产品推荐
相关产品推荐

