1.問題背景
在調用webservice服務時,接口中會要求傳遞 xml 字符串,需要我們進行 實體類 --> xml字符串 之間的互轉, 這個互轉的程序,通常是使用 jdk8 中提供的一個 JAXB 庫, 但是這個庫在jdk11時已經徹底刪除掉了,在打包放到服務器上運行時,在運行到這一行時,就會報錯:
<meta charset="utf-8">
錯誤圖片:
網上大多數讓自己引入JAXB的包,經過測試發(fā)現引入后本地運行是可以的,但是打包后,在服務器中運行還是會報以上錯誤
2.解決辦法
由于網上的方法已經嘗試過,在服務器中運行還是會報錯,所以我們就直接棄用此JAXB,用第三方的互轉工具來做Bean和xml的互相轉換,這里推薦使用 Xstream
2.1 maven地址
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.17</version>
</dependency>
XStream 是一個簡單的庫,用于將對象序列化為 XML 并再次序列化。
官網: http://x-stream.github.io/
快速入門: http://t.csdn.cn/VkGIf
在調用webservice接口的地方 , 使用XStream,來代替JAXB進行實體類與xml之間的互轉即可
注意: 使用XStream,需要配合其提供的注解來標記實體類屬性,再進行轉換
例如: