亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Java:Spring:讀取spring context.xml時(shí)發(fā)生XML沖突'identifiedType'的重復(fù)定義

瀏覽:117日期:2024-05-12 16:27:16
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決Java:Spring:讀取spring context.xml時(shí)發(fā)生XML沖突'identifiedType'的重復(fù)定義?

您的schemaLocation是版本(spring-beans-3.2.xsd)和非版本(spring-tx.xsd)模式名稱的混合。您應(yīng)始終使用一種樣式或另一種樣式,而不要混合使用兩種樣式。我懷疑這里發(fā)生的事情是您明確引用了3.2版本的spring-beans,但是您的未版本化架構(gòu)中的一個(gè)導(dǎo)入了相同架構(gòu)的另一個(gè)版本,導(dǎo)致的兩個(gè)定義沖突beans:identifiedType。

解決方法

任何建議或幫助,我們將不勝感激。

參考鏈接很多,但是沒有明確的解決方案。我想知道Spring項(xiàng)目如何與返回XMLType輸出的PLSQL過程交互。您將需要XMLParser,然后與Spring一起使用時(shí),我們所有人都會收到此錯(cuò)誤。有人有什么建議嗎?

我有一個(gè)運(yùn)行良好的Maven spring應(yīng)用程序(mvc / Rest),并且添加了以下與PLSQL過程進(jìn)行交互的依賴項(xiàng),

<dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.4</version> </dependency> <dependency><groupId>com.oracle</groupId><artifactId>xdb6</artifactId><version>11.2.0.4</version> </dependency> <dependency><groupId>com.xmlparserv2</groupId><artifactId>xmlparserv2</artifactId><version>11.1.1</version> </dependency>

包含xdb6和之后xmlparserv2,在Spring應(yīng)用程序啟動時(shí)(運(yùn)行服務(wù)器時(shí))出現(xiàn)以下錯(cuò)誤

2014-08-19 18:28:51,898信息| 主| osbeans.factory.xml.XmlBeanDefinitionReader

Loading XML bean definitions from class path resource [META-INF/spring/myapp-context.xml]<Line 43,Column 57>: XML-24509: (Error) Duplicated definition for: ’identifiedType’<Line 60,Column 28>: XML-24509: (Error) Duplicated definition for: ’beans’<Line 140,Column 34>: XML-24509: (Error) Duplicated definition for: ’description’<Line 152,Column 29>: XML-24509: (Error) Duplicated definition for: ’import’<Line 174,Column 28>: XML-24509: (Error) Duplicated definition for: ’alias’<Line 203,Column 33>: XML-24509: (Error) Duplicated definition for: ’beanElements’<Line 218,Column 44>: XML-24509: (Error) Duplicated definition for: ’beanAttributes’<Line 462,Column 43>: XML-24509: (Error) Duplicated definition for: ’meta’<Line 470,Column 35>: XML-24509: (Error) Duplicated definition for: ’metaType’<Line 487,Column 27>: XML-24509: (Error) Duplicated definition for: ’bean’<Line 507,Column 38>: XML-24509: (Error) Duplicated definition for: ’constructor-arg’.....2014-08-19 18:28:52,014 ERROR | main | org.springframework.web.servlet.DispatcherServlet | Context initialization failed org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 16 in XML document from class path resource [META-INF/spring/myapp-context.xml] is invalid; nested exception is oracle.xml.parser.schema.XSDException: Duplicated definition for: ’identifiedType’ at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]

來自類路徑資源[META-INF / spring / myapp-context.xml]的XML文檔中的第16行無效;

myapp-context.xml

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:sec='http://www.springframework.org/schema/security' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:mvc='http://www.springframework.org/schema/mvc' xmlns:context='http://www.springframework.org/schema/context' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:util='http://www.springframework.org/schema/util' xmlns:cache='http://www.springframework.org/schema/cache' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/securityhttp://www.springframework.org/schema/security/spring-security-3.1.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.2.xsdhttp://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd'>

第16行是 http://www.springframework.org/schema/cache/spring-cache.xsd'>

假設(shè)我刪除了Line16及其引用,那么將相同的錯(cuò)誤拋出在另一行,例如第13行

更多錯(cuò)誤堆棧跟蹤:

Caused by: org.xml.sax.SAXParseException: <Line 13,Column 70>: XML-24500: (Error) Can not build schema ’http://www.springframework.org/schema/tx’ located at ’http://www.springframework.org/schema/tx/spring-tx.xsd’ at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:425) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:287) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:343) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:226) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:155) ~[xmlparserv2-11.1.1.jar:na]Caused by: oracle.xml.parser.schema.XSDException: Duplicated definition for: ’identifiedType’ at oracle.xml.parser.schema.XSDBuilder.buildSchema(XSDBuilder.java:794) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.schema.XSDBuilder.build(XSDBuilder.java:489) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.schema.XSDValidator.processSchemaLocation(XSDValidator.java:999) ~[xmlparserv2-11.1.1.jar:na] at oracle.xml.parser.schema.XSDValidator.startElement(XSDValidator.java:604) ~[xmlparserv2-11.1.1.jar:na]

更新1

根據(jù)發(fā)布的答案,它說有一個(gè)快速的解決方案,

要覆蓋xmlparserv2.jar所做的更改,請將以下JVM屬性添加到應(yīng)用程序服務(wù)器啟動參數(shù)中。java.xml.parsers.FactoryFinder邏輯將首先檢查環(huán)境變量。

-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

如鏈接https://community.oracle.com/thread/1080787中明確指出的那樣,不建議這樣做

在Maven Spring項(xiàng)目中,通過在%PROJECT_HOME%/ src / main /resources目錄中創(chuàng)建以下文件來覆蓋xmlparserv2.jar設(shè)置:

%PROJECT_HOME%/src/main/resources/META-INF/services/javax.xml.parsers.DocumentBuilderFactory (which defines com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl as the default)%PROJECT_HOME%/src/main/resources/META-INF/services/javax.xml.parsers.SAXParserFactory (which defines com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl as the default)%PROJECT_HOME%/src/main/resources/META-INF/services/javax.xml.transform.TransformerFactory (which defines com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl as the default)

我不清楚。

如何將這些文件拖放到提到的目錄中?這是推薦的解決方案嗎?

更新2

我嘗試添加VM參數(shù)-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl,它有效。

但是,尋找替代的,更合適的解決方案。這只是一個(gè)解決方法。當(dāng)通過說Jenkins將應(yīng)用程序部署到服務(wù)器時(shí),不適合設(shè)置這些與XML解析器相關(guān)的VM參數(shù)設(shè)置。

更新3

@Ian Roberts的答案解決了這個(gè)問題。我清理了context.xml以一致地使用xsd的版本號。

標(biāo)簽: java
主站蜘蛛池模板: 国产色视频一区二区三区 | 亚洲自拍激情 | 亚洲无线一二三四区手机 | 千涩成人网 | 欧美一级日韩在线观看 | 色多多视频成人影院 | 加勒比一本大道香蕉在线视频 | 欧美va在线高清 | 国产99视频精品免费视频7 | 日本一级毛片免费完整视频2020 | 深夜影院在线视频观看 | 国产97色在线 | 免费 | 久久不射网 | 亚洲一级在线 | 亚洲国产精品成人综合久久久 | 亚洲在线一区 | 91不卡视频 | 午夜人成 | 亚洲国产精品久久日 | 欧美日韩免费大片 | 亚洲人在线观看 | 国产不卡一区 | 日韩欧美综合在线二区三区 | 青青热久免费精品视频精品 | 国产精品久久久久久久人人看 | 欧美极品妇xxxxxbbbbb | 国产成人综合网亚洲欧美在线 | 欧美一区二区放荡人妇 | 国产大毛片 | 日韩亚洲欧洲在线rrrr片 | 永久免费影院 | 麻豆精品传媒成人精品 | 四虎884aa永久播放地址http | 国产亚洲精品成人久久网站 | 亚洲美女爱做色禁图无遮 | 国产亚洲精品久久久久久久网站 | 国产三级福利 | 轻轻操在线播放 | 久久在线视频 | www.小明看看 | 一级片黄|