Search code examples
apachetomcatdeploymentstartupcatalina

Apache Tomcat Startup Error : SEVERE: Error deploying web application directory


I copied tomcat from one server to another and now on new server when I start it doesnot load any app and gives a blank page. Here's the error in calatalina logs

Jun 8, 2014 3:43:55 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/app/t1isa1m19/Java/jre/lib/i386:/usr/lib
Jun 8, 2014 3:43:56 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jun 8, 2014 3:43:56 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jun 8, 2014 3:43:56 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1071 ms
Jun 8, 2014 3:43:56 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jun 8, 2014 3:43:56 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Jun 8, 2014 3:43:56 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /opt/app/t1isa1m19/nonprod/Tomcat/apache-tomcat-7.0.26/conf/Catalina/localhost/hotel_post.xml
Jun 8, 2014 3:43:56 PM org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 3 column 2: The markup in the document following the root element must be well-formed.
Throwable occurred: org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
        at weblogic.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:233)
        at weblogic.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:214)
        at weblogic.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:376)
        at weblogic.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:306)
        at weblogic.apache.xerces.impl.XMLScanner.reportFatalError(XMLScanner.java:1270)
        at weblogic.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(XMLDocumentScannerImpl.java:1048)
        at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:330)
        at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:526)
        at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:582)
        at weblogic.apache.xerces.parsers.XMLParser.parse(XMLParser.java:153)
        at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1176)
        at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:133)
        at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:153)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1521)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:603)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

Solution

  • As mentioned, I copied Tomcat Directory from one server to another. Both the server have a difference in path to Tomcat Directory and I covered that using a soft link. Which really didn't work. Changing it to complete/absolute path worked.

    Changed /softlink/tomcatDirectory to /root/absolute_path/tomcatDirectory and it worked.