2011-05-13 5 views
0

Maven 종속성에 문제가 있습니다.jboss6에서 maven을 사용하여 JSP/Servlet 프로젝트를 배포 할 때 오류가 발생했습니다.

안녕하세요 모두,

이 내 이전 게시물을 참조에 내가 받는다는 통해 구축하고 Jboss6에 전쟁으로 프로젝트를 내보내기 (I는 J2EE를위한 Eclipse를 사용)하고 배포 해달라고 Error with Jboss while deploying a jsp/servlet web app "com.sun.faces.config.ConfigureListener" Error

그것의 관리 콘솔을 통해 잘 실행하는 반면 maven을 통해 maven을 통해 빌드하면 깨끗하게 설치하고 내/deploy 디렉토리 (Jboss)에 배포 된 war를 복사합니다.

2011 년 5 월 14 일 14:41 : 57,509 정보 [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) deploy, ctx Path =/UltimateSMS-1 2011-05-10 14 : 41 : 57,681 ERROR [org.apache.catalina.core.ContainerBase. [jboss.web]. [localhost]. [/ UltimateSMS-1]] (HD 스캐너) 오류 com.sun.faces.config.ConfigureListener 클래스의 응용 프로그램 리스너 구성 : java.lang.ClassNotFoundException : com.sun.faces.config.ConfigureListener at java.net.URLClassLoader $ 1.run (URLClassLoader.java:217) [: 1.6 .0_20] java.security.AccessController.doPrivileged (원시 메소드)에 [: 1.6.0_20 java.net.URLClassLoader.findClass (URLClassLoader.java:205)에서] [: 1.6.0_20]

그리고 전쟁 전개가 실패합니다.

을 Heres 내 치어의 섹션 내 web.xml 파일에 A A면 리스너를 구성하고 JSF

에 대한 참조를 doesnot 한

<dependency> 
        <groupId>javax.servlet</groupId> 
        <artifactId>servlet-api</artifactId> 
        <version>2.5</version> 
        <type>jar</type> 
        <scope>compile</scope> 
      </dependency> 
      <dependency> 
        <groupId>jboss</groupId> 
        <artifactId>jboss-j2ee</artifactId> 
        <version>4.0.2</version> 
        <type>jar</type> 
        <scope>compile</scope> 
      </dependency> 
    <dependency> 
        <groupId>javax</groupId> 
        <artifactId>javaee-web-api</artifactId> 
        <version>6.0</version> 
      </dependency> 

없음

PS : 내 프로젝트는 간단한 JSP입니다 그래서 지금 내가 JDK 1.6 Maven을 사용하여 무엇을 JSF에 대한 참조로/서블릿 J2EE 프로젝트 -> 아파치 메이븐은 3.0.3
나는 오류를 좁혀와 나는 문제가 내 pom.xml 파일에서 생각

제발 조언. 감사합니다.

답변

4

같은 문제가 발생했습니다. 범위에 자바 EE API를

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 

maven doc에 따르면 당신은 서블릿 API에 대한 종속성을 설정해야합니다 및 관련 :

<dependency> 
       <groupId>javax.servlet</groupId> 
       <artifactId>servlet-api</artifactId> 
       <version>2.5</version> 
       <type>jar</type> 
       <scope>compile</scope> 
    </dependency> 

과 :

<dependency> 
       <groupId>javax</groupId> 
       <artifactId>javaee-web-api</artifactId> 
       <version>6.0</version> 
    </dependency> 

로를 당신은 pom.xml에 교체해야합니다 은 웹 컨테이너가 이러한 클래스를 제공하기 때문에을 제공했습니다.

제공된 이것은 컴파일과 비슷하지만 런타임시 종속성을 JDK 또는 컨테이너가 제공 할 것으로 예상한다는 것을 나타냅니다. 예를 들어, Java Enterprise Edition 용 웹 응용 프로그램을 빌드 할 때 웹 컨테이너가 해당 클래스를 제공하기 때문에 Servlet API 및 관련 Java EE API에 대한 종속성을 제공된 범위로 설정합니다. 이 범위는 컴파일 및 테스트 클래스 경로에서만 사용할 수 있으며 변환하지 않습니다.

관련 문제