2017-04-06 75 views
0

我得到這個錯誤,使用Apache的tomcat 6.0.51。我使用spring + hibernate + rest。 我找不到理由。我能做些什麼來解決它? 我嘗試了許多方法,但沒有解決方案..Spring SEVERE錯誤:偵聽器啓動?

Connected to server 
    [2017-04-06 03:05:57,259] Artifact toyotaproject:war exploded: Artifact is being deployed, please wait... 
    Nis 06, 2017 3:05:57 AM org.apache.catalina.core.StandardContext start 
    SEVERE: Error listenerStart 
    Nis 06, 2017 3:05:57 AM org.apache.catalina.core.StandardContext start 
    SEVERE: Context [] startup failed due to previous errors 
    [2017-04-06 03:05:57,665] Artifact toyotaproject:war exploded: Error during artifact deployment. See server log for details. 
    Nis 06, 2017 3:06:07 AM org.apache.catalina.startup.HostConfig deployDirectory 
    INFO: Deploying web application directory manager 
    F:\apache-tomcat-6.0.51\bin\catalina.bat stop 
    Using CATALINA_BASE: "C:\Users\yusufaslan\.IntelliJIdea2016.3\system\tomcat\Unnamed_toyotaproject_2" 
    Using CATALINA_HOME: "F:\apache-tomcat-6.0.51" 
    Using CATALINA_TMPDIR: "F:\apache-tomcat-6.0.51\temp" 
    Using JRE_HOME:  "C:\Program Files\Java\jdk1.8.0_101" 
    Using CLASSPATH:  "F:\apache-tomcat-6.0.51\bin\bootstrap.jar" 
    Nis 06, 2017 3:07:13 AM org.apache.coyote.http11.Http11AprProtocol pause 
    INFO: Pausing Coyote HTTP/1.1 on http-8080 
    Nis 06, 2017 3:07:13 AM org.apache.coyote.ajp.AjpAprProtocol pause 
    INFO: Pausing Coyote AJP/1.3 on ajp-8009 
    Nis 06, 2017 3:07:14 AM org.apache.catalina.core.StandardService stop 
    INFO: Stopping service Catalina 
    Nis 06, 2017 3:07:14 AM org.apache.coyote.http11.Http11AprProtocol destroy 
    INFO: Stopping Coyote HTTP/1.1 on http-8080 
    Nis 06, 2017 3:07:14 AM org.apache.coyote.ajp.AjpAprProtocol destroy 
    INFO: Stopping Coyote AJP/1.3 on ajp-8009 
    Disconnected from server 

這是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>toyotaproject</groupId> 
    <artifactId>toyotaproject</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <build> 

     <plugins> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <!-- CXF Dependencies --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.2.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.2.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>3.2.18.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>3.2.18.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>3.2.18.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>3.2.18.RELEASE</version> 
     </dependency> 
       <!-- Spring Security --> 

     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>3.2.3.RELEASE</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>3.2.3.RELEASE</version> 
     </dependency> 

     <!-- Spring Security --> 

     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-transports-http</artifactId> 
      <version>3.0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-transports-http-jetty</artifactId> 
      <version>3.0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
      <version>3.0.4</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>jsr311-api</artifactId> 
      <version>1.1.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-mapper-asl</artifactId> 
      <version>1.7.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-jaxrs</artifactId> 
      <version>1.7.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-xc</artifactId> 
      <version>1.7.1</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi-ooxml</artifactId> 
      <version>3.9</version> 
     </dependency> 
     <dependency> 
      <groupId>org.json</groupId> 
      <artifactId>json</artifactId> 
      <version>20090211</version> 
     </dependency> 
    </dependencies> 

</project> 

在服務器日誌:

Nis 06, 2017 3:05:57 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
at org.apache.catalina.loader.WebappClassLoader.loadClass(Webap‌​pClassLoader.java:16‌​98) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(Webap‌​pClassLoader.java:15‌​44) 
at org.apache.catalina.core.StandardContext.listenerStart(Stand‌​ardContext.java:4219‌​)' 

爲什麼我得到這個錯誤?這是關於什麼? 我使用的IntelliJ IDEA,這是....

web.xml <?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>src/main/web/applicationContext.xml,src/main/web/Spring-Security.xml</param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- Spring Security Start --> 
    <listener> 
     <listener-class> 
      org.springframework.web.context.request.RequestContextListener 
     </listener-class> 
    </listener> 

    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class> 
      org.springframework.web.filter.DelegatingFilterProxy 
     </filter-class> 
    </filter> 
    <!-- Projenin ana url'inden itibaren spring security aktif ediliyor --> 
    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <!-- Spring Security End --> 
    <servlet> 
     <servlet-name>CXFServlet</servlet-name> 
     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>CXFServlet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 



</web-app> 

這是我applicatiınContext.xml

<?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:context="http://www.springframework.org/schema/context" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd 
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
      http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> 


    <context:annotation-config /> 
    <context:component-scan base-package="com.toyotaproject" /> 
    <tx:annotation-driven /> 
    <bean id="dataSource" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3307/toyotadb" /> 
     <property name="username" value="root" /> 
     <property name="password" value="12345" /> 
    </bean> 

    <bean id="entityManagerFactory" 
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="persistenceUnitName" value="SpringJPA_PU"/> 
    </bean> 

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory" /> 
    </bean> 
    <bean id='jacksonProvider' class='org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider' /> 

    <bean id="jpaAdapter" 
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
     <property name="database" value="MYSQL" /> 
     <property name="showSql" value="true" /> 
     <property name="generateDdl" value="true" /> 
    </bean> 
    <jaxrs:server id="restContainer" address="/" > 
     <jaxrs:serviceBeans> 
      <ref bean="customerWebService"/> 
      <ref bean="reservationWebService"/> 
      <ref bean="tripWebService"/> 
     </jaxrs:serviceBeans> 
     <jaxrs:providers> 
      <ref bean='jacksonProvider' /> 
     </jaxrs:providers> 
    </jaxrs:server> 
</beans> 
+0

'誤差太大區別引用此。有關詳細信息,請參閱服務器日誌。「...因此,您檢查了服務器日誌嗎? – john16384

+0

這是日誌詳細信息.....'Nis 06,2017 3:05:57 AM org.apache.catalina.core.StandardContext listenerStart SEVERE:配置類org.springframework.web.context.ContextLoaderListener的應用程序偵聽器時出錯 拋出java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener \t在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1698) \t在org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1544) \t at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4219)' – yakubaybars

+0

它說:'ClassNotFoundException:org.springframework.web.context.ContextLoaderListener' - 所以,可能有些春天的罐子是missi在你試圖部署的'war'中。你應該檢查一切是否在那裏。 – john16384

回答

0

好,我要告訴你我用做的,它的工作原理。讓我給你和例子。 代替您的applicatiınContext.xml我寧願使用springrest-servlet.xml,該名稱是可選的,但它必須在whit -servlet.xml中。那麼你需要在你的web.xml

<servlet> 
     <servlet-name>springrest</servlet-name> 
     <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>springrest</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

這裏是我的springrest-servlet.xml的是神器部署期間是不是從你的applicatiınContext.xml

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans  
     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-4.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 


    <context:component-scan base-package="com.mycompany.backendhibernatejpa.controller" /> 
    <mvc:annotation-driven /> 

    <bean id="iAbonneDao" class="com.mycompany.backendhibernatejpa.daoImpl.AbonneDaoImpl"/> 
    <bean id="iAbonneService" class="com.mycompany.backendhibernatejpa.serviceImpl.AbonneServiceImpl"/> 

    <!-- couche de persistance JPA --> 
    <bean id="entityManagerFactory" 
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="jpaVendorAdapter"> 
      <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">    
       <property name="databasePlatform" value="org.hibernate.dialect.MySQL5InnoDBDialect" /> 
       <property name="generateDdl" value="true" /> 
       <property name="showSql" value="true" /> 
      </bean> 
     </property> 
     <property name="loadTimeWeaver"> 
      <bean 
       class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" /> 
     </property> 
    </bean> 

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="locations" value="classpath:bd.properties"/> 
    </bean> 

    <!-- la source de donnéees DBCP --> 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" > 
     <property name="driverClassName" value="${bd.driver}" /> 
     <property name="url" value="${bd.url}" /> 
     <property name="username" value="${bd.username}" /> 
     <property name="password" value="${bd.password}" /> 
    </bean> 

    <!-- le gestionnaire de transactions --> 

    <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory" /> 
    </bean> 
    <tx:annotation-driven transaction-manager="txManager" /> 

    <!-- traduction des exceptions --> 
    <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /> 

    <!-- annotations de persistance --> 
    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

    <!-- <bean id="springSecurityFilterChain" class="org.springframework.web.filter.DelegatingFilterProxy"/>--> 

</beans> 
+0

謝謝你的回答,但是ı使用Apache cxf這裏是我的cxf,無論如何我應該添加你的servlet.xml servlet CXFServlet org。 apache.cxf.transport.servlet.CXFServlet <負載上啓動> 1 CXFServlet /rest/* ' – yakubaybars