JPMML and JAXB and SPI

要用jpmml解析pmml模型,需要依賴特定的JAXB provider,其中一個可用的是 EclipseLink MOXy (maven依賴為org.eclipse.persistence.moxy,org.eclipse.persistence.core 或者eclipselink)。

而要指定JAXB的provider有兩種方式:

+ 純spi的方式,也就是在META-INF/services目錄下放一個文件名為javax.xml.bind.context.factory,內(nèi)容為org.eclipse.persistence.jaxb.JAXBContextFactory的文件

+ 如文章blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html所述,在和模型類同級的目錄里放一個,jaxb.properties文件,內(nèi)容為javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory。對于像jpmml這種是在第三方包里定義的模型類,只能在自己的工程中間一個同路徑的目錄了。

往往一個工程了可能依賴的了多種jaxb的provider,并且有些provider很變態(tài),會在自己的jar里也放一個META-INF/services/javax.xml.bind.context.factory文件,導(dǎo)致第一種方法不一定起作用。所以第二種方法兼容性更好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容