2014-12-22 3 views
10

으로 나는NoSuchMethodError : org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment() Lorg/springframework/core/env/Environment; 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) 

나는 구글 검색을 알고, 다음과 같은 오류에 직면하고 그 의존성 문제와 관련. 여기 내 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> 

고맙습니다.

+0

유사 - http://stackoverflow.com/questions/13642947/java-lang-nosuchmethoderror-org-springframework-beans-factory-xml-xmlreadercont. 서로 다른 버전의 항아리가 있습니까? –

+0

아니, zkoss 종속성을 제거했지만 아무 도움도 안된다. 그래서 나는 explicity가 2 가지 다른 버전을 언급하도록 생각하지 않는다. .m2 디렉토리에 다른 버전이 있습니까? –

+0

또한 .m2에서 폴더를 삭제하고 빌드 및 배포를 시도했지만 여전히 같은 오류가 발생했습니다. –

답변

-1

이 오류는 프로젝트에서 언급 된 클래스를 포함하는

  1. 찾기 항아리 다음, 웹 응용 프로그램을 배포/시작하는 동안 서버에서 발생하는 경우 org.springframework.beans.factory.xml.XmlReaderContext

  2. 공통 lib 폴더에있는 서버에서 동일한 jar를 찾으십시오.

  3. 는 항아리의 동일한 버전을 설정하거나 난 당신과 같은 문제가 있었다 pom.xml 파일

16

의 범위를 제공했습니다. 2 시간 동안 발견 한 것이 잘못되었습니다 ... 귀하의 질문을 발견하고 아마 그것이 의존성 문제라고 보았습니다.

그것은 그냥 봄 콩 의존성에게이 나를 위해이었다

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

봄 항아리와 스프링 데이터 간의 종속성 호환성 문제를 추가이 문제를 해결한다. 오류 전에

버전 (오류없이) :

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

4.3.2.RELEASE 봄 버전을 업그레이드하여 해결 추가 오류를 1.10.2.RELEASE하는 봄의 데이터를 업데이트 한 후 :

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

올바른 스프링 버전을 사용하려면 스프링 의존성 선언을 건너 뛰고 스프링 데이터 종속성 만 유지하면됩니다. 또는 Spring 데이터 버전에서 스프링 버전을 사용하고 있는지 여부를 Maven 리포지토리에서 확인할 수 있습니다.

+0

내 봄 버전을 4.3.2.RELEASE로 변경하면 문제가 해결되었습니다. 감사! – 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>