java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present错误

今天在搭建spring cloud的时候,发现一直报“java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present”的错误

后来发现,原来是因为用了jdk10的缘故。因为JAXB-API是java ee的一部分,在jdk10中没有在默认的类路径中。从jdk9开始java引入了模块的概念,可以使用模块命令--add-modles java.xml.bind引入jaxb-api;

而我选择使用了另一种解决方法,在maven里面加入下面依赖,可以解决这个问题:

		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.3.0</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.0</version>
		</dependency>
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

  

posted @ 2018-05-11 15:24  系统攻城狮  阅读(834)  评论(0编辑  收藏  举报