2011-12-14 5 views
4

분류자를 사용하여 Maven 이슈를 배포하려고합니다. 소스와 JAR (GWT에서 사용하고 있습니다)가 모두 필요하므로 artifact-version-classifier.jarartifact-version-classifier-sources.jar을 얻고 싶습니다. 그러나 컴파일 된 JAR에서는 제대로 작동하지만 소스에서는 실패합니다 (출력 소스 JAR의 이름이 잘못됨). Maven 배포 + 소스 분류 자 ​​

내가 지금까지 가지고있는 구성입니다 :

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <configuration> 
     <classifier>prod</classifier> 
    </configuration> 
</plugin> 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-source-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>attach-sources</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <finalName>${project.build.finalName}-prod</finalName> 
    </configuration> 
</plugin> 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <configuration> 
     <classifier>prod</classifier> 
    </configuration> 
</plugin> 

그리고 이것은 내가 mvn deploy에 대한지고있어 출력입니다 :

Uploading: http://juicebox:8080/archiva/repository/snapshots//ar/com/nubing/afip-connector/1.0-SNAPSHOT/afip-connector-1.0-SNAPSHOT-prod.jar 
237K uploaded (afip-connector-1.0-SNAPSHOT-prod.jar) 

하지만 하나는 잘못된 이름이 :

Uploading: http://juicebox:8080/archiva/repository/snapshots//ar/com/nubing/afip-connector/1.0-SNAPSHOT/afip-connector-1.0-SNAPSHOT-sources.jar 
228K uploaded (afip-connector-1.0-SNAPSHOT-sources.jar) 

답변

6

슬프게도, 임의의 분류자를 사용하여 소스 JAR을 첨부하는 것은 sou에서 지원되지 않습니다. rce 플러그인. 소스 아티팩트가 attached 일 때, 분류자는 hardcoded (소스 플러그인의 버전 2.1.2 현재)입니다.

소스 플러그인을 가져 와서 JAR을 생성하고 첨부하지 않고 build helper pluginattach artifact 목표로 첨부하면이 문제를 해결할 수 있습니다.

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>attach-source-jar</id> 
      <phase>package</phase> 
      <goals> 
       <goal>attach-artifact</goal> 
      </goals> 
      <configuration> 
       <artifacts> 
        <artifact> 
         <file>${project.build.directory}/${project.build.finalName}-prod-sources.jar</file> 
         <type>jar</type> 
         <classifier>prod-sources</classifier> 
        </artifact> 
       </artifacts> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
+0

고맙습니다. 그것은 훌륭하게 일했습니다, 당신은 저에게 많은 시간을 구했습니다! –

+0

@prunge 이것은 버전 2.2에서 수정되었습니다. –

4

이에 대한 해결 방법은 다음과 같습니다. 그러나 더 이상 필요하지 않습니다. 2012 년 6 월에 버전 2.2에서 수정 된 reported Bug입니다. 단지 <classifier> 속성을 설정하십시오. 2.2.1로 테스트되었습니다.

관련 문제