2013-01-22 33 views
4

由於存在深紅色的罐子和大多數論壇帖子,我正面臨幾個問題,這種類型的問題的解決方案是擺脫它。從應用程序中刪除crimson.jar所需的步驟是什麼?

例如:

引起:java.lang.IllegalArgumentException異常:無屬性 在org.apache.crimson.jaxp.DocumentBuilderFactoryImpl.setAttribute(DocumentBuilderFactoryImpl.java:93)

實施

和解決方案發布是:

如果您只是想嘗試使用xml,我會建議使用當前的JAXP或最新的jdk,其中包含jaxp 1.4。 JAXP 已從版本1.3開始取代了Crimson解析器。請參閱1.3 發行說明https://jaxp.java.net/1.3/ReleaseNotes.html

但是當我刪除這個的crimson.jar我開始喜歡到處面臨的問題:

Jan 22, 2013 8:26:07 PM org.apache.tomcat.util.digester.Digester warning 
WARNING: Parse Warning Error at line 1 column 0: URI was not reported to parser for entity [document] 
org.xml.sax.SAXParseException: URI was not reported to parser for entity [document] 
    at gnu.xml.aelfred2.SAXDriver.warn(SAXDriver.java:934) 
    at gnu.xml.aelfred2.SAXDriver.startExternalEntity(SAXDriver.java:631) 
    at gnu.xml.aelfred2.XmlParser.pushURL(XmlParser.java:3358) 
    at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:159) 
    at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320) 
    at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) 
    at org.apache.catalina.startup.TldConfig.tldScanStream(TldConfig.java:553) 
    at org.apache.catalina.startup.TldConfig.tldScanWebXml(TldConfig.java:383) 
    at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:299) 
    at org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:585) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5061) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:633) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:525) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1360) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1406) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:832) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:347) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:591) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Jan 22, 2013 8:26:07 PM org.apache.tomcat.util.digester.Digester warning 
WARNING: Parse Warning Error at line 3 column 138: No base URI; hope URI is absolute: http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd 
org.xml.sax.SAXParseException: No base URI; hope URI is absolute: http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd 
    at gnu.xml.aelfred2.SAXDriver.warn(SAXDriver.java:934) 
    at gnu.xml.aelfred2.XmlParser.readExternalIds(XmlParser.java:2399) 
    at gnu.xml.aelfred2.XmlParser.parseDoctypedecl(XmlParser.java:804) 
    at gnu.xml.aelfred2.XmlParser.parseProlog(XmlParser.java:522) 
    at gnu.xml.aelfred2.XmlParser.parseDocument(XmlParser.java:414) 
    at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:167) 
    at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320) 
    at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) 
    at org.apache.catalina.startup.TldConfig.tldScanStream(TldConfig.java:553) 
    at org.apache.catalina.startup.TldConfig.tldScanWebXml(TldConfig.java:383) 
    at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:299) 
    at org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:585) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5061) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:633) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:525) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1360) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1406) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:832) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:347) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:591) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Jan 22, 2013 8:26:08 PM org.apache.tomcat.util.digester.Digester warning 
WARNING: Parse Warning Error at line 3 column 140: No base URI; hope this SYSTEM id is absolute: http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd 
org.xml.sax.SAXParseException: No base URI; hope this SYSTEM id is absolute: http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd 
    at gnu.xml.aelfred2.SAXDriver.warn(SAXDriver.java:934) 
    at gnu.xml.aelfred2.SAXDriver.absolutize(SAXDriver.java:606) 
    at gnu.xml.aelfred2.SAXDriver.resolveEntity(SAXDriver.java:585) 
    at gnu.xml.aelfred2.XmlParser.pushURL(XmlParser.java:3336) 
    at gnu.xml.aelfred2.XmlParser.parseDoctypedecl(XmlParser.java:845) 
    at gnu.xml.aelfred2.XmlParser.parseProlog(XmlParser.java:522) 
    at gnu.xml.aelfred2.XmlParser.parseDocument(XmlParser.java:414) 
    at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:167) 
    at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320) 
    at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) 
    at org.apache.catalina.startup.TldConfig.tldScanStream(TldConfig.java:553) 
    at org.apache.catalina.startup.TldConfig.tldScanWebXml(TldConfig.java:383) 
    at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:299) 
    at org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:585) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5061) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:633) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:525) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1360) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1406) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:832) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:347) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:591) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Jan 22, 2013 8:26:08 PM org.apache.catalina.startup.XmlErrorHandler logFindings 

提到使用JAXP 1.4罐子有的,別人提到, xerces是crimson.jar的替代品。我已經使用了兩者,但我仍然得到這些警告例外。

所以我的問題是:什麼是從我的應用程序中刪除/替換這個罐子和/或任何相關的罐子所需的步驟?

+0

這是您正在開發的應用程序嗎?如果是,您使用的是哪種構建系統?螞蟻? Maven的?或者這只是您獲得並部署到tomcat服務器中的一些二進制可部署歸檔文件? – fvu

+0

我是uisng Netbeans 7(Ant) 我有一個現有的Web應用程序使用crimson.jar和currnetly我必須添加模塊,做signinig,加密,解密,...... bla bla 新模塊作爲stand獨立應用程序工作正常後集成到我的網絡應用程序它拋出這個異常 引起:java.lang.IllegalArgumentException:沒有屬性實現在org.apache.crimson.jaxp.DocumentBuilderFactoryImpl.setAttribute(DocumentBuilderFactoryImpl。java:93) 當我試圖刪除這crimson.jar我得到了上述提到長警告異常。 –

+0

我遇到類似的問題。我無法啓動一個很舊的(但仍然是必需的)應用程序。如果我嘗試使用比java 1.4更新的任何東西來啓動它,我會得到這個錯誤消息:'java.lang.ClassNotFoundException:org.apache.crimson.jaxp.DocumentBuilderFactoryImpl' – jap1968

回答

0

http://xml.apache.org/crimson/網頁

2010/08/06 - 阿帕奇深紅已經退役。

和The Crimson代碼庫基於Sun Project X解析器。它也是目前Sun產品中的解析器;然而,未來的計劃是轉向另一個稱爲Xerces Java 2的代碼庫。Xerces 2目前正在開發中。 [鏈接到Xerces 2,一旦創建了項目頁面。]

so Xerces是所有需要的,但問題在於如果放置它作爲戰爭的一部分,xerces庫應放置在它將生成所有上面提出的問題,而不應該是你的戰爭庫的一部分,它應該是服務器共享庫的一部分

對於tomcat,您可以將其放置在Websphere的lib文件夾中,您可以將它放在任何地方並將其添加到您的應用程序共享中庫類路徑。

+0

它已經退役了,不錯,但它仍然出現在我的堆棧痕跡。它不在我的任何jar中,不在任何部署在服務器上的jar中,不在classes目錄中,但它仍然出現在我的堆棧跟蹤中。 –

相關問題