如何解决Eclipse中JAXB-API未在模块路径或类路径找到的问题
解决JAXB运行时找不到实现类的问题
你遇到的问题根源是:仅添加了JAXB的API包(jaxb-api-2.3.1.jar),但JAXB需要具体的实现类库才能正常运行。JDK 9及以后版本已经移除了自带的JAXB实现(即报错里的com.sun.xml.internal.bind.v2.ContextFactory这类类),所以运行时会找不到实现类抛出异常。
具体解决步骤
普通Eclipse Java项目
需要额外添加以下几个与jaxb-api-2.3.1版本匹配的实现类库:
jaxb-core-2.3.0.1.jarjaxb-impl-2.3.1.jaractivation-1.1.1.jar(JDK9+移除了javax.activation模块,需单独添加)
添加方式和你加jaxb-api一样:右键项目 → Build Path → Add External Archives...,选中下载好的这几个jar包即可。
Maven项目(如果你的项目用Maven管理)
直接在pom.xml中添加以下依赖:
<dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> </dependencies>
添加完成后,重新运行项目即可解决该异常。
内容的提问来源于stack exchange,提问作者errorrelativo
相关产品推荐
相关产品推荐

