2012-03-23 3 views
0

저는 ejb를 패키징하고 있습니다. 항아리에 대한 종속성의 일부 .classes를 포함해야합니다. maven-dependency-plugin을 사용하려고합니다. 이슈를 풀고 패키지 단계에서 내 $ {project.build.directory}/클래스 디렉토리에 파일을 넣어,하지만 난 MVN 패키지을 실행할 때 나는 받는다는 - dependency-에 대한 로그 또는 참조를 참조하십시오 해달라고 플러그인 (아무 일도 일어나지 않음), 심지어 플러그인의 잘못된 버전을 넣으려고했는데 예외를 던지지도 않았습니다. 내 pom.xml 파일 아래단계 동안 maven-dependency-plugin unpack이 실행되지 않습니다.

.... 
<packaging>ejb</packaging> 
<name>myapp</name> 

...repository and props 

<build> 
    <pluginManagement> 
     <plugins> 
      ... 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.4</version> 
       <executions> 
        <execution> 
         <id>unpack</id> 
         <phase>package</phase> 
         <goals> 
          <goal>unpack</goal> 
         </goals> 
         <configuration> 
          <artifactItems> 
           <artifactItem> 
            <groupId>com.myapp</groupId> 
            <artifactId>model</artifactId> 
            <version>1.0.0</version> 
            <type>jar</type> 
            <overWrite>true</overWrite> 
            <outputDirectory>${project.build.directory}/classes</outputDirectory> 
            <includes>**/shared/*.class</includes> 
           </artifactItem> 
          </artifactItems> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <ejbVersion>3.0</ejbVersion> 
       </configuration> 
      </plugin> 

     </plugins> 
    </pluginManagement> 
</build>  
<dependencies> 
    <dependency> 
     <groupId>com.myapp</groupId> 
     <artifactId>model</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
</dependencies> 

내가 뭘 놓친 거지?

추 신 : 아티팩트 모델이 로컬 저장소에 설치되어 있으며 다른 단계도 시도했습니다.

답변

3

<pluginManagement> 및 </pluginManagement >이 포함 된 줄을 제거하면 플러그인이 실행되어야합니다. 그 두 줄이 아니라 그 사이의 줄. pluginManagement는 약간 개선 된 기능입니다.

PluginManagement는이 POM을 상속 한 POM에 대한 구성 정보를 제공합니다. 그러나이 절에서는 구성 세부 사항 만 제공합니다. 실제로 실행하려면 플러그인을 pluginManagement 섹션 외부에서 명시 적으로 참조해야합니다.

POM Reference