今天搭建springcloud项目部署EurekaServer注册中心报错:然后报错项目无法运行起来。
分析原因:
从java9开始,项目就不会默认加载jdk中的jaxb包,所以此处手动引入jaxb-api包
在父工程的pom文件中手动引入jaxb的jar,因为jdk9之后默认没有加载该模块 EurekaServer使用到,所以需要手动导入,否则EurekaServer无法启动
解决方案:
如果是java8 及以下的版本,可能就要寻找其他解决方案了。
<dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency> <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-impl</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>
但是小编在实现EurekaServer注册的时候,使用的jdk是8~,就不存在本问题了