今天在運行程序的時候,一直報“java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present”的錯誤
百度原因,發現是因為用了jdk12的緣故。因為JAXB-API是java ee的一部分,在jdk12中沒有在默認的類路徑中。從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>