Tomcat 8.0.39で、STRICT_SERVLET_COMPLIANCE = trueオプションを使用してapache-tomcat-8.0.39 \ conf \ catalina.propertiesを更新することでアプリケーションをデプロイしようとしていますが、アプリケーションのデプロイメントが失敗することがあります。 つまり、エラーが発生し始めます。 SEVERE [localhost-startStop-1] org.apache.tomcat.util.digester.Digester.errorアプリケーションweb.xmlファイル内のすべてのタグの解析エラーです。STRICT_SERVLET_COMPLIANCE = trueを使用してTomcatアプリをデプロイできない
次のようにスタックトレースの一つである:
09 - 02月2017 15:06:32.189 SEVERE [ローカルホスト-startStop-1] org.apache.tomcat.util.digester.Digester.error 5行目の解析エラー66:ドキュメントルート要素 "web-app"は、DOCTYPEルート "xml"と一致する必要があります。 org.xml.sax.SAXParseException; systemId:file:/ C:/Servers/Tomcat%208/apache-tomcat-8.0.39/webapps/file-service/WEB-INF/web.xml; lineNumber:5; columnNumber:66;ドキュメントルート要素 "web-app"は、DOCTYPEルート "xml"と一致する必要があります。 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(不明なソース) com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(不明なソース) at com。 sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(不明なソース) com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(不明なソース) (com.sun.org) com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(不明なソース)の com.sun.org.apacheの でapache.xerces.internal.impl.XMLErrorReporter.reportError(不明なソース) xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(不明なソース) com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown So urce)com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl $ NSContentDriver.scanRootElementHookでcom.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(不明なソース) (不明なソース)で com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl $ FragmentContentDriver.next(不明なソース) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl $ PrologDriver.next(不明なソース) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(不明なソース) com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(不明なソース) at com。 sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(不明なソース) at com.sun.or g.apache.xerces.internal.parsers.XML11Configuration.parse(不明なソース) com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(不明なソース) (com.sun.org.apache) com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(不明なソース) com.sun.org.apache.xerces.internal。 jaxp.SAXParserImpl $ JAXPSAXParser.parse(不明なソース)org.apache.tomcat.util.digester.Digester.parse(Digester.java:1448)で org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXmlで(WebXmlParser.java:119) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1119) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java: 783) (org.apache.catalina.startup.ContextConfig.java:307) (org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) 、org.apache.catalina)にあります。 (LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5213) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase。java:145) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1398) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(不明なソース) at java.lang .Thread.run(不明なソース)
その問題を解決するために、私は次のオプションを試してみました:
1)catalina.propに次を追加しましたerties:
org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
2)更新エージェントWARのweb.xmlファイルウェブapp_2_5.xsd 更新バージョン= "3.0" と 更新されたWeb-app_3_0.xsdバージョン= "2.5"
と私はまた、 apache-tomcat-8.0.39 \ conf \ web.xmlから "web-app"タグエントリを自分のアプリケーションweb.xmlにコピーしようとしましたが、使用しませんでした。
3)
org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true changes these defaults]
org.apache.catalina.core.ApplicationContext.GET_RESOURCE_REQUIRE_SLASH
org.apache.catalina.core.ApplicationDispatcher.WRAP_SAME_OBJECT
org.apache.catalina.core.StandardHostValve.ACCESS_SESSION
org.apache.catalina.session.StandardSession.ACTIVITY_CHECK
org.apache.catalina.session.StandardSession.LAST_ACCESS_AT_START
org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING
The **URIEncoding** attribute of any HTTP connector or AJP connector element.
The **resourceOnlyServlets** attribute of any Context element.
The **tldValidation** attribute of any Context element.
The **useRelativeRedirects** attribute of any Context element.
The **xmlNamespaceAware** attribute of any Context element.
The **xmlValidation** attribute of any Context element.
を設定するよう、それぞれのデフォルト値に次の値を設定しようとしたが、何も正常に動作しているようだありません。また、Tomcatのマネージャーや他のアプリケーションをデプロイすることもできません。 catalina.properties
で私はSTRICT_SERVLET_COMPLIANCEを書くとき、すべてのものが正常に動作一方
= falseが、私はここに行方不明です何かはありますか?この問題を解決する際に私を助けてください。
よろしく、私もこの問題に遭遇した Bhupesh
私は私のこの質問に答えるために逃したが、はい、私たちが使用して長いバックこの問題を修正する方法を確認していませんあなたが言及したオプション。お返事をありがとうございます。 –