7

I'm deploying a Spring web-application on Tomcat 8, IntelliJ IDEA 14. However, the deployment fails with the following error log:

""C:\Program Files (x86)\apache-tomcat-8.0.22\bin\catalina.bat" run
[2015-05-20 08:19:25,312] Artifact bookmanager:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\svetlana\.IntelliJIdea14\system\tomcat\Tomcat_8_0_22_bookmanager"
Using CATALINA_HOME:   "C:\Program Files (x86)\apache-tomcat-8.0.22"
Using CATALINA_TMPDIR: "C:\Program Files (x86)\apache-tomcat-8.0.22\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_05"
Using CLASSPATH:       "C:\Program Files (x86)\apache-tomcat-8.0.22\bin\bootstrap.jar;C:\Program Files (x86)\apache-tomcat-8.0.22\bin\tomcat-juli.jar"
20-May-2015 20:19:26.942 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.22
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 29 2015 11:46:15 UTC
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.22.0
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 8
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            6.2
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
20-May-2015 20:19:26.945 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk1.8.0_05\jre
20-May-2015 20:19:26.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_05-b13
20-May-2015 20:19:26.947 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
20-May-2015 20:19:26.947 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\svetlana\.IntelliJIdea14\system\tomcat\Tomcat_8_0_22_bookmanager
20-May-2015 20:19:26.947 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\Program Files (x86)\apache-tomcat-8.0.22
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
20-May-2015 20:19:26.948 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\svetlana\.IntelliJIdea14\system\tomcat\Tomcat_8_0_22_bookmanager\conf\logging.properties
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=C:\Program Files (x86)\apache-tomcat-8.0.22\endorsed
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\svetlana\.IntelliJIdea14\system\tomcat\Tomcat_8_0_22_bookmanager
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files (x86)\apache-tomcat-8.0.22
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files (x86)\apache-tomcat-8.0.22\temp
20-May-2015 20:19:26.949 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
20-May-2015 20:19:26.950 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
20-May-2015 20:19:28.021 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1m 19 Mar 2015)
20-May-2015 20:19:28.201 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
20-May-2015 20:19:28.216 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
20-May-2015 20:19:28.218 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2202 ms
20-May-2015 20:19:28.274 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
20-May-2015 20:19:28.274 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.22
20-May-2015 20:19:28.286 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
20-May-2015 20:19:28.308 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
20-May-2015 20:19:28.309 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91 ms
Connected to server
[2015-05-20 08:19:28,372] Artifact bookmanager:war exploded: Artifact is being deployed, please wait...
20-May-2015 20:19:31.035 INFO [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
20-May-2015 20:19:31.151 INFO [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: initialization started
20-May-2015 20:19:31.343 INFO [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.prepareRefresh Refreshing Root WebApplicationContext: startup date [Wed May 20 20:19:31 EEST 2015]; root of context hierarchy
20-May-2015 20:19:31.403 INFO [RMI TCP Connection(3)-127.0.0.1] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions Loading XML bean definitions from ServletContext resource [/WEB-INF/application-context.xml]
20-May-2015 20:19:31.523 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Context initialization failed
...
Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 110; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:property-placeholder'.
20-May-2015 20:19:31.530 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
...
20-May-2015 20:19:31.532 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
20-May-2015 20:19:31.536 INFO [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.doClose Closing Root WebApplicationContext: startup date [Wed May 20 20:19:31 EEST 2015]; root of context hierarchy
20-May-2015 20:19:31.537 WARNING [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.doClose Exception thrown from ApplicationListener handling ContextClosedEvent
...
Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 110; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:property-placeholder'.
...
20-May-2015 20:19:31.649 WARNING [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.doClose Exception thrown from LifecycleProcessor on context close
 java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Wed May 20 20:19:31 EEST 2015]; root of context hierarchy
...
[2015-05-20 08:19:31,935] Artifact bookmanager:war exploded: Error during artifact deployment. See server log for details.
...

20-May-2015 20:19:38.284 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Program Files (x86)\apache-tomcat-8.0.22\webapps\manager
20-May-2015 20:19:38.359 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Program Files (x86)\apache-tomcat-8.0.22\webapps\manager has finished in 74 ms

Here is /WEB-INF/application-context.xml:

<context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="ENVIRONMENT"/>
<context:component-scan base-package="com.svetlana.bookmanager.repository"/>

<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.databaseurl}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
    <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.dialect">${jdbc.dialect}</prop>
            <prop key="hibernate.connection.charSet">UTF-8</prop>
        </props>
    </property>
</bean> 

External Libraries (in idea project)

< 1.8 >
Maven: antlr:antlr:2.7.6
Maven: aopalliance:aopalliance:1.0
Maven: asm:asm:1.5.3
Maven: asm:asm-attrs:1.5.3
Maven: cglib:cglib:2.1_3
Maven: commons-collections:commons-collections:3.1
Maven: commons-logging:commons-logging:1.1.3
Maven: dom4j:dom4j:1.6.1
Maven: javax.persistence:persistence-api:1.0
Maven: javax.servlet.jsp:jsp-api:2.1
Maven: javax.servlet:javax.servlet-api:3.1.0
Maven: javax.transaction:jta:1.1
Maven: jstl:jstl:1.2
Maven: junit:junit:4.11
Maven: mysql:mysql-connector-java:5.1.34
Maven: net.sf.ehcache:ehcache:1.2.3
Maven: org.hamcrest:hamcrest-core:1.3
Maven: org.hibernate:ejb3-persistence:1.0.1.GA
Maven: org.hibernate:hibernate:3.2.6.ga
Maven: org.hibernate:hibernate-annotations:3.3.1.GA
Maven: org.hibernate:hibernate-commons-annotations:3.3.0.ga
Maven: org.hibernate:hibernate-core:3.3.2.GA
Maven: org.slf4j:slf4j-api:1.5.8
Maven: org.springframework:spring-aop:4.1.1.RELEASE
Maven: org.springframework:spring-beans:4.1.1.RELEASE
Maven: org.springframework:spring-context:4.1.1.RELEASE
Maven: org.springframework:spring-core:4.1.1.RELEASE
Maven: org.springframework:spring-expression:4.1.1.RELEASE
Maven: org.springframework:spring-jdbc:4.1.1.RELEASE
Maven: org.springframework:spring-orm:4.1.1.RELEASE
Maven: org.springframework:spring-test:4.1.1.RELEASE
Maven: org.springframework:spring-tx:4.1.1.RELEASE
Maven: org.springframework:spring-web:4.1.1.RELEASE
Maven: org.springframework:spring-webmvc:4.1.1.RELEASE
Maven: xml-apis:xml-apis:1.0.b2

I think the problem is in differences between used and indicated versions of JAR. I made this project from video-lesson, and there were used more old versions than in my computer, but don't know how to check it.

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
Victoria Shpak
  • 89
  • 1
  • 1
  • 4
  • 2
    just a quick search produced these answered questions.. http://stackoverflow.com/questions/20163910/tomcat-in-idea-war-exploded-server-is-not-connected-deploy-is-not-available http://stackoverflow.com/questions/27658343/server-is-not-connected-deploy-is-not-available-intellij-13-and-tomcat-7 http://stackoverflow.com/questions/25147843/server-is-not-connected-when-trying-to-deploy-with-intellij also.. that isn't really a runnable code snippet so expect someone else to notice that too. but I notice your new to stackoverflow so welcome but please do at least search before posting in future. – David Beech May 20 '15 at 17:38
  • "Full details will be found in the appropriate container log file" You should probably look at some other log files for clues. – Gary Sheppard May 20 '15 at 17:42
  • You have `The matching wildcard is strict, but no declaration can be found for element 'context:property-placeholder'.` - please verify the contents of `/WEB-INF/application-context.xml` Check that XML is valid and there are no extra characters in it. Then check the versions of actual Spring JAR files inside your WAR archive in `/lib` they must not differ too much. – Boris Treukhov May 20 '15 at 18:41
  • I tried to find the answer in google, but have finally confused. – Victoria Shpak May 20 '15 at 19:24
  • What exactly log-file can help? – Victoria Shpak May 20 '15 at 19:50
  • Victoria, you need to declare the correct XML namespaces(with the schema definitions) in the `application-context.xml` http://stackoverflow.com/questions/17566391/cvc-complex-type-2-4-c-the-matching-wildcard-is-strict-but-no-declaration-can – Boris Treukhov May 20 '15 at 21:26
  • 1
    ...and the whole file should be contained inside a `` element. – kryger May 20 '15 at 22:27

1 Answers1

1

The problem was in declaration of application-context.xml. First it looked like this:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/util
       http://www.springframework.org/schema/util/spring-util.xsd">

And I changed it next way, added context-declarations:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/cache
       http://www.springframework.org/schema/cache/spring-cache.xsd ">
khelwood
  • 55,782
  • 14
  • 81
  • 108
Victoria Shpak
  • 89
  • 1
  • 1
  • 4