2014-12-22 14 views
10

Sto affrontando seguente errore,NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment() Lorg/springframework/core/env/Environment; Con zkoss

java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment()Lorg/springframework/core/env/Environment; 
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:81) 
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1423) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1413) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:239) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:181) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5198) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5481) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

So per ricerca di google che il suo correlato alla dipendenza problema. Quindi ecco il mio pom.xml

<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> 

    <artifactId>TempApp</artifactId> 
    <groupId>com.zbc.tempapp</groupId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>TempApp</name> 

    <repositories> 
     <repository> 
      <id>ZK CE</id> 
      <name>ZK CE Repository</name> 
      <url>http://mavensync.zkoss.org/maven2</url> 
     </repository> 
    </repositories> 
    <properties> 
     <jpa.version>1.0.1.Final</jpa.version> 
     <hibernate.version>4.3.6.Final</hibernate.version> 
     <hibernate.commons.annotation.version>4.0.4.Final</hibernate.commons.annotation.version> 
     <hibernate.validator.version>5.1.2.Final</hibernate.validator.version> 
     <springVersion>4.1.2.RELEASE</springVersion> 
     <log4j2Version>2.0</log4j2Version> 
     <springDataJpaVersion>1.4.3.RELEASE</springDataJpaVersion> 
     <apacheCommonsLangVersion>3.2.1</apacheCommonsLangVersion> 
     <apacheCommonsCollection>4.0</apacheCommonsCollection> 
     <apacheCommonsEmail>1.3.2</apacheCommonsEmail> 
     <quartzVersion>2.2.1</quartzVersion> 
     <zkVersion>7.0.3</zkVersion> 
     <zkSpringVersion>3.1.1</zkSpringVersion> 
     <junit.version>4.11</junit.version> 
     <plugin.maven.war>2.4</plugin.maven.war> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
     <plugin.maven.compiler>3.0</plugin.maven.compiler> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
     <!-- asyn logger log4j 2 --> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
      <version>${log4j2Version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-core</artifactId> 
      <version>${log4j2Version}</version> 
     </dependency> 



     <!-- hibernate/jpa related --> 
     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.0-api</artifactId> 
      <version>${jpa.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate.common</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
      <version>${hibernate.commons.annotation.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>${hibernate.validator.version}</version> 
     </dependency> 
     <!-- Spring --> 
     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-jpa</artifactId> 
      <version>${springDataJpaVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${springVersion}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${springVersion}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${springVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${springVersion}</version> 
     </dependency> 

     <!-- JUnit --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>${junit.version}</version> 
     </dependency> 



     <!-- quartz schedular --> 
     <dependency> 
      <groupId>org.quartz-scheduler</groupId> 
      <artifactId>quartz</artifactId> 
      <version>${quartzVersion}</version> 
     </dependency> 

     <!-- Zkoss Dependency --> 
     <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zkplus</artifactId> 
      <version>${zkVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zhtml</artifactId> 
      <version>${zkVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zkbind</artifactId> 
      <version>${zkVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zul</artifactId> 
      <version>${zkVersion}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-jdk14</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

<!--  <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zkspring-core</artifactId> 
      <version>3.1.1</version> 
      <exclusions> 
       <exclusion> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-classic</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> --> 

    <!-- <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zkspring-webflow</artifactId> 
      <version>3.1.1</version> 
     </dependency> --> 

     <!-- <dependency> 
      <groupId>org.zkoss.zk</groupId> 
      <artifactId>zkspring-security</artifactId> 
      <version>3.1.1</version> 
     </dependency> --> 

     <!-- Apache commons --> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-email</artifactId> 
      <version>${apacheCommonsEmail}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>${apacheCommonsLangVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-collections4</artifactId> 
      <version>${apacheCommonsCollection}</version> 
     </dependency> 

    </dependencies> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>${plugin.maven.war}</version> 
        <configuration> 
         <archive> 
          <manifest> 
           <addDefaultImplementationEntries>true 
           </addDefaultImplementationEntries> 
           <addDefaultSpecificationEntries>true 
           </addDefaultSpecificationEntries> 
          </manifest> 
          <manifestEntries> 
           <Implementation-Build>${BUILD_TAG}</Implementation-Build> 
          </manifestEntries> 
         </archive> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>${plugin.maven.compiler}</version> 
        <configuration> 
         <source>${maven.compiler.source}</source> 
         <target>${maven.compiler.target}</target> 
         <encoding>${project.build.sourceEncoding}</encoding> 
         <showWarnings>true</showWarnings> 
         <showDeprecation>true</showDeprecation> 
         <debug>true</debug> 
         <optimize>true</optimize> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>2.12.4</version> 
        <executions> 
         <execution> 
          <configuration> 
           <!-- make it false to execute test cases --> 
           <skipTests>true</skipTests> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <executions> 
        <execution> 
         <configuration> 
          <!-- make it false to execute test cases --> 
          <skipTests>true</skipTests> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${maven.compiler.source}</source> 
        <target>${maven.compiler.target}</target> 
        <encoding>${project.build.sourceEncoding}</encoding> 
        <showWarnings>true</showWarnings> 
        <showDeprecation>true</showDeprecation> 
        <debug>true</debug> 
        <optimize>true</optimize> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Grazie.

+0

Simile - http://stackoverflow.com/questions/13642947/java-lang-nosuchmethoderror-org-springframework-beans-factory-xml-xmlreadercont. Hai lo stesso barattolo con versioni diverse? –

+0

No, ho provato a rimuovere la dipendenza zkoss ma non è di aiuto, no non penso quindi ho menzionato esplicitamente 2 versioni differenti. La presenza di un'altra versione nella directory .m2 sarebbe? –

+0

Ho anche cancellato le cartelle sotto .m2 e ho provato a costruire e distribuire, ancora lo stesso errore. –

risposta

-1

Se questo errore viene generato sul server durante l'avviamento/deployment di applicazioni web, quindi

  1. Trova vaso che contiene classe dedicata nel progetto org.springframework.beans.factory.xml.XmlReaderContext

  2. Prova a trovare lo stesso jar sul server nella cartella lib comune.

  3. Impostare la stessa versione di vaso o mettere fornito portata nel file di pom.xml

16

Ho avuto lo stesso problema come voi. Due ore di scoperta stavano andando male ... Dopo aver trovato la tua domanda e visto che probabilmente è un problema di dipendenza.

E ', ho risolto questo problema solo l'aggiunta di fagioli di primavera dipendenza

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-beans</artifactId> 
    <version>4.1.6.RELEASE</version> 
    </dependency> 
3

Questo è stato per me un problema di compatibilità dipendenza tra i vasi di primavera e dei dati di primavera.

Le versioni prima che l'errore (nessun errore):

<spring.version>4.1.0.RELEASE</spring.version> 
<springdata.version>1.6.1.RELEASE</springdata.version> 

Dopo l'aggiornamento dei dati di primavera al 1.10.2.RELEASE l'errore aggiunge, risolto con l'aggiornamento di versione primavera 4.3.2.RELEASE:

<spring.version>4.3.2.RELEASE</spring.version> 
<springdata.version>1.10.2.RELEASE</springdata.version> 

Per assicurarsi di utilizzare la versione a molla corretta, è possibile saltare la dichiarazione di errore delle dipendenze della molla e mantenere solo la dipendenza dei dati di molla. Oppure è possibile controllare nel repository di esperti quale versione di primavera viene utilizzata dalla versione dei dati di primavera e aggiornare di conseguenza.

+0

Cambiando la versione della mia molla in 4.3.2.RELEASE l'ho risolto per me. Grazie! – sef9110

1
if using spring 3.17 
use 
<dependency> 
<groupId>org.springframework.data</groupId> 
<artifactId>spring-data-jpa</artifactId> 
<version>1.6.6.RELEASE</version> 
</dependency> 
Problemi correlati