最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Quarkus改造Pmml模型項目異常記錄及解決處理

 更新時間:2022年02月23日 10:34:43   作者:kl  
這篇文章主要為大家介紹了Quarkus改造Pmml模型項目是遇到的異常記錄以及解決方法,有需要的同學(xué)可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

前言

這個項目是一個PMML模型跑分系統(tǒng),在使用quarkus架構(gòu)對其改造的過程中,在加載PMML模型時,拋了一個異常,在網(wǎng)上找了很多資料都沒有解決,pmml項目的issue中也沒有找到相關(guān)的內(nèi)容,故在此記錄下,給遇到問題的你做個參考

jpmml-evaluator:https://github.com/jpmml/jpmml-evaluator

異常如下:

java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME" of type javax.xml.namespace.QName, the class loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @58fd1214 (instance of io.quarkus.bootstrap.classloading.QuarkusClassLoader, child of 'platform' jdk.internal.loader.ClassLoaders$PlatformClassLoader) of the current class, com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl, and the class loader 'bootstrap' for the field's defining type, javax.xml.datatype.DatatypeConstants, have different Class objects for type javax.xml.namespace.QName
	at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:254)
	at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:33)
	at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:98)
	at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:54)
	at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:132)
	at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:62)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:425)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:273)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:109)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1126)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:135)
	at com.sun.xml.bind.v2.JAXBContextFactory.createContext(JAXBContextFactory.java:35)
	at javax.xml.bind.ContextFinder.find(ContextFinder.java:393)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:632)
	at org.jpmml.model.JAXBUtil.getContext(JAXBUtil.java:103)
	at org.jpmml.model.JAXBUtil.createUnmarshaller(JAXBUtil.java:143)
	at org.jpmml.evaluator.LoadingModelEvaluatorBuilder.load(LoadingModelEvaluatorBuilder.java:88)
	at org.jpmml.evaluator.LoadingModelEvaluatorBuilder.load(LoadingModelEvaluatorBuilder.java:78)
	at org.jpmml.evaluator.LoadingModelEvaluatorBuilder.load(LoadingModelEvaluatorBuilder.java:66)

解決

最后發(fā)現(xiàn)是一個依賴的jar包中帶的一個依賴stax-api導(dǎo)致的問題,實際上并沒有使用到這個依賴,所以排除即可

<dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.6.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>stax-api</artifactId>
                    <groupId>stax</groupId>
                </exclusion>
            </exclusions>
        </dependency>

解決思路

剛看到這個異常時,沒有啥想法,加載程序約束沖突,這個還是頭一次見,后面就在PMML的github倉庫上找issue里的關(guān)鍵信息,一無所獲。最后把異常message放google上搜到了兩條關(guān)鍵信息,如下:

信息一:https://youtrack.jetbrains.com/issue/JT-7922

信息二:https://serverfault.com/questions/401890/

其中,信息一的異常匹配度非常高,達到了100%的異常消息匹配,但是沒有說解決方案,信息二雖然也沒給出具體的方案,但是談到了可能是jar依賴沖突導(dǎo)致,這個給了我靈感,最后經(jīng)過嘗試驗證,把stax-api這個jar找出來了。

stax-api百科

XML流API(Streaming API for XML,縮寫StAX)是用于讀寫XML文檔的應(yīng)用程序接口,起源于Java社群,JSR 173定義了這個API。

傳統(tǒng)上來說,XML的API無外乎是以下兩種:

  • 基于樹的API- 整個文檔以樹的形式被讀入內(nèi)存,可以被調(diào)用程序隨機訪問。
  • 基于事件的API - 應(yīng)用注冊接收事件,當(dāng)原XML文檔遇到事體時就會產(chǎn)生這些事件。

兩者皆有優(yōu)點,前者(例如DOM)允許對文檔進行隨機訪問,而后者(例如SAX)需要較小的內(nèi)存開銷,并卻通常更快。

這兩個方法可以認(rèn)為是正好相反。基于樹的API允許無限制的,隨機的訪問和操縱,而基于事件的API是一次性地遍歷源文檔。

StAX被設(shè)計為這兩者的一個折中。在StAX中,程序的切入點是表示XML文檔中一個位置的光標(biāo)。應(yīng)用程序在需要時向前移動光標(biāo),從解析器拉出信息。

與基于事件的API(如SAX)將“數(shù)據(jù)推送”給應(yīng)用程序不同的是,SAX需要應(yīng)用程序維持時間間的狀態(tài),以保持文檔內(nèi)的位置信息。

總結(jié)

基于stax-api百科的信息,在結(jié)合異常信息,這個異常算終于水落石出了,可以判斷出,這個jar的功能已經(jīng)被包含進jdk中了,所以添加進新的進來就導(dǎo)致沖突了

以上就是Quarkus改造Pmml模型項目異常記錄及解決的詳細內(nèi)容,更多關(guān)于Quarkus改造Pmml模型項目異常的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PowerJob的QueryConvertUtils工作流程源碼解讀

    PowerJob的QueryConvertUtils工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的QueryConvertUtils工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • java圖片色階調(diào)整和亮度調(diào)整代碼示例

    java圖片色階調(diào)整和亮度調(diào)整代碼示例

    這篇文章主要介紹了java圖片色階調(diào)整和亮度調(diào)整代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Spring的跨域的幾個方案

    Spring的跨域的幾個方案

    這篇文章主要介紹了Spring的跨域的幾個方案,CrossOrigin、addCorsMappings、CorsFIlter等方案,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-02-02
  • SpringMVC注解@RequestParam方法原理解析

    SpringMVC注解@RequestParam方法原理解析

    這篇文章主要介紹了SpringMVC注解@RequestParam方法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java排序算法中的插入排序算法實現(xiàn)

    Java排序算法中的插入排序算法實現(xiàn)

    這篇文章主要介紹了Java排序算法中的插入排序算法實現(xiàn),插入排序是將數(shù)組中的數(shù)據(jù)分為兩個區(qū)間,已排序區(qū)間和未排序區(qū)間,其中已排序區(qū)間初始只有一個元素,就是數(shù)組的第一個元素,需要的朋友可以參考下
    2023-12-12
  • Java用 Rhino/Nashorn 代替第三方 JSON 轉(zhuǎn)換庫

    Java用 Rhino/Nashorn 代替第三方 JSON 轉(zhuǎn)換庫

    本篇文章主要介紹了Java用 Rhino/Nashorn 代替第三方 JSON 轉(zhuǎn)換庫,非常具有實用價值,需要的朋友可以參考下
    2017-05-05
  • springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例

    springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例

    今天小編就為大家分享一篇關(guān)于springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Ubuntu16.04 64位下JDK1.7的安裝教程

    Ubuntu16.04 64位下JDK1.7的安裝教程

    這篇文章主要為大家詳細介紹了Ubuntu16.04 64位下JDK1.7的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Java你告訴我 fail-fast 是什么鬼

    Java你告訴我 fail-fast 是什么鬼

    這篇文章主要介紹了Java你告訴我 fail-fast 是什么鬼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • SpringMVC域?qū)ο蠊蚕頂?shù)據(jù)示例詳解

    SpringMVC域?qū)ο蠊蚕頂?shù)據(jù)示例詳解

    這篇文章主要為大家介紹了SpringMVC域?qū)ο蠊蚕頂?shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論

大渡口区| 酒泉市| 三明市| 海兴县| 翼城县| 罗城| 宁津县| 无为县| 舟山市| 东乌| 毕节市| 高台县| 辽中县| 宜丰县| 阿克| 长沙县| 肇源县| 福建省| 太仓市| 屏南县| 新民市| 栾城县| 大冶市| 溆浦县| 灵川县| 遂宁市| 台州市| 商河县| 沂源县| 沧州市| 兴文县| 吉林省| 达孜县| 尼勒克县| 磐石市| 读书| 柳州市| 枣庄市| 乌兰县| 南江县| 额敏县|