2010-07-03 4 views
2

.ear 파일에 몇 가지 문제가 있습니다. 파일의 구조는 다음과 같습니다서버가 .ear에서 클래스를 찾을 수 없습니다.

app.ear 
|-xxx.jar 
-yyy.jar 
-zzz.jar 
-ektorp.jar 
-app-ejb.jar 
-app-web.war 
    |-WEB-INF 
    |-lib 
     |-xxx.jar 
     |-yyy.jar 
     |-zzz.jar 
     |-ektorp.jar 

내 응용 프로그램을 배포 할 때, 나는 ektorp.jar에 wihch 클래스, ClassNotFoundException가 얻을. 이 파일은 ejb 모듈에서 사용됩니다.

왜이 항아리가 두 배로 늘었는지도 모르겠습니까? 귀와 전쟁 모듈에는 동일한 .jar 파일이 있습니다.

귀는 maven2에 의해 만들어집니다.

+0

application.xml도 게시 할 수 있습니까? –

답변

2

응용 프로그램을 배포하려고하면 ClassNotFoundException이 ektorp.jar에 있습니다. 이 파일은 ejb 모듈에서 사용됩니다.

매니페스트에서 Class-Path: 항목에서 EJB-JAR 참조 ektorp.jar (이에 대한 자세한 배경 Packaging EJB 3 Applications 참조)합니까? 자주 제기되는 질문 (FAQ)은 how you can configure the plugin to generate a Class-Path: entry in the manifest 설명 :

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-ejb-plugin</artifactId> 
     <version>2.2.1</version> 
     ... 
     <configuration> 
      <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
      </manifest> 
     </archive> 
     </configuration> 
     ... 
    </plugin> 
    </plugins> 
</build> 
    ... 
</project> 

그냥 경우에, 당신은 자바 EE 6과 .WAR에서 EJB를 패키징 할 수 있다는 것을 알고 (차이가 .WAR를 사용하는 경우 모든 클래스가 같은 클래스 로더에로드 된 것입니다 포장)? 강력한 모듈화 요구 사항이 없으면 .war 패키지가 더 간단합니다.