由於某些原因,我們需要Oracle XDK中的xdb.jar。這個jar取決於xmlparserv2.jar。實際的問題是xmlparserv2.jar帶有一些提供者配置文件(META-INF/services)。該jar具有的服務提供者javax.xml.transform.TransformerFactory,javax.xml.parsers.SAXParserFactory和javax.xml.parsers.DocumentBuilderFactory。這些實現(來自oracle。*)不能與我們軟件的其他部分一起工作(他們需要標準工廠)。如何告訴我的應用程序它不應該使用來自jar的外部服務提供者?
回答
我通過刪除服務(META-INF/services)來解決問題。我們運行了單元測試,一切正常。即使是依賴於xmlparserv2.jar/xdb.jar的軟件部分。
你可以只從xmlparserv2.jar
See here刪除這些類 - 「JNLP類路徑優先級1.5 VS 1.6」
謝謝,但它不能解決我的問題。 xmlparserv2.jar覆蓋了jre中的類。我無法在jre之前加載xmlparserv2.jar。 (我可以嗎?) – alexvetter
這就是問題所討論的 - 如何以及在什麼版本下。 – Bozho
好的,那麼我不太瞭解解決方法。 xmlparserv2.jar包含以下軟件包: org.xml.sax。* org.w3c.dom。* oracle.xml。* javax.xml。* 問題可能來自javax.xml。*包。 ..但我怎麼能告訴運行時不使用這部分的jar? – alexvetter
你可以使用單獨的類加載器的罐子從應用程序的其餘部分隔離。這question關於它覆蓋。
- 1. 如何實現IDataServiceMetadataProvider並告訴我的數據服務使用該自定義提供程序?
- 2. SAML中的服務提供者和實際應用程序之間應該如何/應該進行溝通?
- 3. 內容提供者是我的應用程序的一部分?
- 4. 誰能告訴我一個方法來使用用戶提供的服務
- 5. 我應該如何注入提供者?
- 6. 應該如何組織提供REST Web服務的JEE6企業應用程序?
- 7. 如何告訴用戶,該應用程序已從服務器中刪除?
- 8. 請告訴我,我應該向我的應用程序提供哪種瀏覽器兼容性?
- 9. 如何使用grunt爲角應用程序提供服務?
- 10. 如何使用應用程序服務提供商爲此
- 11. 如何使用Mongrel2爲WSGI Python應用程序提供服務?
- 12. 如何從我自己的服務/提供者中使用Angular的$ log服務?
- 13. 如何使用Node/Express爲我的Web應用程序提供服務?
- 14. 使用來自外部數據提供者(API)的數據
- 15. 未知提供者:e來自AngularJS/Rails應用程序
- 16. 我應該使用什麼樣的應用程序服務器?
- 17. 春例子..我該如何告訴它的MongoDB服務器
- 18. 如何將連接服務提供程序添加到我的應用程序?
- 19. 如何告訴我的MATLAB GUI使用外部.m文件來繪製它?
- 20. 告訴應用程序自動卸載?
- 21. 我是否需要告訴用戶該應用程序對廣告使用位置服務?
- 22. 如何告訴用戶我的應用程序有升級?
- 23. 我該如何告訴我的Cocoa應用程序從應用程序本身中退出?
- 24. 如何告訴我的程序它應該繼續從數字中減去?
- 25. 我的程序應該是應用程序還是服務?
- 26. GWT使用來自外部模塊(jar)的域模型/服務?
- 27. 請告訴我應該使用什麼方法進行桌面應用程序
- 28. 如何在phonegap應用程序中使用外部jar?
- 29. 如何在macOS應用程序中註冊來自應用程序的服務?
- 30. GoDaddy的告訴我,我的Heroku應用程序不存在
對不起,但這是不可能的。 xmlparserv2.jar的許可證不允許這樣做。而xmlparserv2.jar需要這些類。 – alexvetter