2012-03-04 2 views
1

나는 maven에 의해 만들어진 EAR 파일을 가지고 있고 현재 EAR \ lib에 넣고 싶은 commons 프로젝트가있다. 그래서 나는 잘 작동하는 'bundleDir'태그와 함께 maven-ear-plugin을 사용했다. 이제는 내 commons.jar이 lib 폴더와 EAR 루트에 나타납니다. lib 폴더에만 넣으라고 어떻게 말합니까? Maven이 EAR 파일에서 항아리를 복제하지 못하게하는 방법은 무엇입니까?

내 치어 : 여기

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ear-plugin</artifactId> 
      <configuration> 
       <outputDirectory>../../outputs/java</outputDirectory> 
       <version>5</version> 
       <modules> 
        <jarModule> 
         <groupId>com.sample.common</groupId> 
         <artifactId>common</artifactId> 
         <includeInApplicationXml> 
          true 
         </includeInApplicationXml> 
         <bundleDir>/lib</bundleDir> 
        </jarModule> 
        ... 
       </modules> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>ear</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

그리고 종속성 정의입니다 :

<dependency> 
     <groupId>com.sample.common</groupId> 
     <artifactId>common</artifactId> 
     <version>1.0</version> 
     <scope>provided</scope> 
    </dependency> 
+0

이 질문의 제목이 문맥에서 벗어 났을 때 _ 이상하게 보입니다. :) –

+0

제목이 약간 이상하지만 나는 매우 긴 하루를 보냈다는 것을 알고있다. – Tomer

+0

pom.xml 파일에서 commons.jar에 대한 의존성 정의를 게시 할 수있다. – hovanessyan

답변

1

당신의 jar 파일은 단순히 maven-로 정의하지 않고 귀 의존성에 넣을 수 있습니다 EJB되지 않는 경우 귀 플러그 접속 식. 그렇지 않으면 종속성 목록 안의 jar에 제공된 범위를 설정하십시오. 이것은 도움이 될 수 있습니다.

+0

으로 업데이트했습니다. jar 파일은 EJB jar 파일이며 제공된 범위로 시도했지만 불행히도 도움이되지 않았습니다. – Tomer

+1

com.sample.common을 사용하는 ear 종속 목록에 다른 모듈이있을 수도 있습니다 : 일반적인 범위의 컴파일 또는 런타임. 이 경우 ear 종속 목록에서 사용하고 com.sample.common : common에 종속적 인 모든 모듈에는 com.sample.common : common에 대한 범위도 있어야합니다. – dyrkin

+0

좋은 지적이지만, 나는 이미 그 점을 생각하고 그 항아리에 대한 모든 언급을 업데이트하고 여전히 운이 없다. – Tomer