項目由openjdk8.0遷移到jdk10導致的
原因:java9模塊化的概念使得JAXB默認沒有加載;
jaxb-api是存在jdk中的,只是默認沒有加載而已,手動引入即可。
推薦方式:
<!-- jaxb模塊引用 - start --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> </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> <!-- jaxb模塊引用 - end -->
java9模塊命令方式:
--add-modles java.xml.bind
java9默認未加載模塊:
javax.activation
javax.corba
javax.transaction
javax.xml.bind
javax.xml.ws
javax.xml.ws.annotation