2012-04-08 3 views
2

Jersey와 통합 된 Spring 소셜 프레임 워크를 사용하는 Maven 프로젝트를 구현하고 싶습니다. 하지만 약간의 의존성 문제가 있습니다.Maven 프로젝트 (스프링 소셜 프레임 워크와 저지)

저지 스프링에서 약간의 배제를 놓친 것 같아요. 누군가 친절하게 나를 도울 수 있습니까?

<?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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>org.springframework.social.samples</groupId> 
<artifactId>world-rank</artifactId> 
<name>World Rank</name> 
<packaging>war</packaging> 
<version>1.0.0</version> 
<properties> 
    <java-version>1.6</java-version> 
    <org.springframework.social-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social-version> 
    <org.springframework.social.facebook-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social.facebook-version> 
    <org.springframework.social.twitter-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social.twitter-version> 
    <org.springframework-version>3.1.1.RELEASE</org.springframework-version> 
    <org.springframework.security-version>3.1.0.RELEASE</org.springframework.security-version> 
    <org.slf4j-version>1.6.1</org.slf4j-version> 
</properties> 
<dependencies> 
    <!-- Jersey --> 

    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.8</version> 
    </dependency> 

    <!-- Spring --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${org.springframework-version}</version> 
     <exclusions> 
      <!-- Exclude Commons Logging in favor of SLF4j --> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>${org.springframework.security-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-taglibs</artifactId> 
     <version>${org.springframework.security-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>${org.springframework.security-version}</version> 
    </dependency>  
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-core</artifactId> 
     <version>${org.springframework.social-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-facebook</artifactId> 
     <version>${org.springframework.social.facebook-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-twitter</artifactId> 
     <version>${org.springframework.social.twitter-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-web</artifactId> 
     <version>${org.springframework.social-version}</version> 
    </dependency> 

    <!-- Jersey + Spring --> 

    <dependency> 
     <groupId>com.sun.jersey.contribs</groupId> 
     <artifactId>jersey-spring</artifactId> 
     <version>1.8</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-core</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-web</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-beans</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-context</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 


    <!-- Apache Http Client --> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.1.2</version> 
     <exclusions> 
      <!-- Exclude Commons Logging in favor of SLF4j --> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions>   
    </dependency> 

    <!-- JSR 303 with Hibernate Validator --> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.1.0.Final</version> 
    </dependency> 

    <!-- Logging --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${org.slf4j-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     <scope>runtime</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>1.3.159</version> 
    </dependency> 

    <!-- CGLIB, only required and used for @Configuration usage --> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib-nodep</artifactId> 
     <version>2.2</version> 
    </dependency> 

    <!-- Apache Tiles --> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-jsp</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-el</artifactId> 
     <version>2.2.2</version> 
    </dependency> 

    <!-- @Inject --> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 

    <!-- Servlet --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp.jstl</groupId> 
     <artifactId>jstl-api</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.web</groupId> 
     <artifactId>jstl-impl</artifactId> 
     <version>1.2</version> 
    </dependency> 
</dependencies> 
<repositories> 
    <repository> 
     <id>org.springframework.maven.release</id> 
     <name>Spring Maven Release Repository</name> 
     <url>http://maven.springframework.org/release</url> 
     <releases><enabled>true</enabled></releases> 
     <snapshots><enabled>false</enabled></snapshots> 
    </repository> 
    <!-- For testing against latest Spring snapshots --> 
    <repository> 
     <id>org.springframework.maven.snapshot</id> 
     <name>Spring Maven Snapshot Repository</name> 
     <url>http://maven.springframework.org/snapshot</url> 
     <releases><enabled>false</enabled></releases> 
     <snapshots><enabled>true</enabled></snapshots> 
    </repository> 
    <!-- For developing against latest Spring milestones --> 
    <repository> 
     <id>org.springframework.maven.milestone</id> 
     <name>Spring Maven Milestone Repository</name> 
     <url>http://maven.springframework.org/milestone</url> 
     <snapshots><enabled>false</enabled></snapshots> 
    </repository> 
</repositories> 
<build> 
    <resources> 
     <resource> 
      <directory>src/main/java</directory> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>${java-version}</source> 
       <target>${java-version}</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1.1</version> 
      <configuration> 
       <warName>spring-social-popup</warName> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <version>1.1</version> 
     </plugin> 
    </plugins> 
</build> 

오류 메시지는 다음과 같습니다 :

pom.xml 파일은 ERROR : org.springframework.web.context.ContextLoader - 컨텍스트 초기화 org.springframework.beans.factory 실패 .BeanCreationException : 파일 이름에 'webMvcConfig'라는 이름의 bean을 만들 때 오류가 발생했습니다. [/Users/yousilin/workspace/9323/target/classes/org/springframework/social/popup/config/WebMvcConfig.class] : Bean 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.factory.BeanCreationException : 클래스 경로 자원 [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]에 정의 된 이름 'org.springframework.transaction.config.internalTransactionAdvisor'로 bean 생성 오류 : 인스턴스화 중 콩 실패; 중첩 예외는 org.springframework.beans.factory.BeanDefinitionStoreException입니다. 팩토리 메소드 [public org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration.transactionAdvisor()] 예외를 던졌습니다. 중첩 예외는 java.lang.NoSuchMethodError입니다 : org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor.setAdvice (Lorg/aopalliance/aop/Advice;) V 관련 원인 : org.springframework.beans.factory.BeanCreationException : 이름으로 bean을 만드는 동안 오류가 발생했습니다. 'org/springframework/social/popup/config/SocialConfig.class] 클래스 경로 리소스에 정의 된 BeanDefinition에 정의 된'connectionFactoryLocator ': Bean 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.factory.BeanCreationException : 클래스 경로 자원 [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]에 정의 된 이름 'org.springframework.transaction.config.internalTransactionAdvisor'로 bean 생성 오류 : 인스턴스화 중 콩 실패; 중첩 예외는 org.springframework.beans.factory.BeanDefinitionStoreException입니다. 팩토리 메소드 [public org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration.transactionAdvisor()] 예외를 던졌습니다. ; V

+0

실행'MVN 의존성 : 나무 -Dverbose' 충돌을 식별합니다. – axtavt

+0

성공을 구축했지만 컨텍스트 초기화에 실패했습니다. –

+1

@StevenYou : 컴파일 타임에 문제가 없습니다. 프로그램에서 최신 버전 (3.x)을 사용하는 동안 일부 종속성이 스프링 모듈의 이전 버전을 클래스 경로 (예 : 2.x)로 가져 오는 것 같습니다. 런타임에이 혼란으로 인해 'NoSuchMethodError'가 발생합니다. 이것이 종속성 트리를 검사해야하는 이유입니다. –

답변

8

저도 같은 문제를했고, 내 경우에는, 도움이 AOP 의존성을 추가 org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor.setAdvice (LORG/aopalliance/AOP/조언) : 중첩 된 예외 java.lang.NoSuchMethodError입니다. 스프링 보안의 특정 부분에 필요하다고 생각됩니다. 추가

시도 :

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aop</artifactId> 
    <version>3.1.0.RELEASE</version> 
</dependency> 
+0

매력처럼 작동했습니다. 매우 감사합니다! –

+0

@ LukaszBachman,이 솔루션은 한때는 저에게 효과적 이었지만 몇 가지 변경 사항이 있었지만 같은 오류를 다시 보여주기 시작했습니다. 내 POM.xml에는 여전히이 종속성이 포함되어 있으며 프로젝트 업데이트도 시도했습니다. 무엇이 잘못 될지 제안 해 주시겠습니까? –

+0

@ R.Rahul 현재 POM 및 자세한 오류 메시지와 함께 별도의 질문을 게시하는 것이 좋습니다. 나는 누군가가 당신을 즉시 도울 수있을 것이라고 확신합니다. –

관련 문제