2014-12-24 2 views
0

이것은 쉬웠지만 maven-install 플러그인에서 이상한 동작이 발생했습니다.어떻게 mvn : 음영 처리 된 maven 아티팩트를 설치할 수 있습니까?

종속성 충돌을 피하기 위해 프로젝트에 공통적 인 종속성을 다시 패키지해야했습니다. 그 목적을 위해 나는 구성 재배치와 그늘 플러그인을 사용 :

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>do_shade</id> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <createDependencyReducedPom>true</createDependencyReducedPom> 
         <shadedArtifactAttached>false</shadedArtifactAttached> 
         <createSourcesJar>true</createSourcesJar> 
         <relocations> 
          <relocation> 
           <pattern>com.google.common</pattern> 
           <shadedPattern>com.myproject.google.common</shadedPattern> 
          </relocation> 
          <relocation> 
           <pattern>org.apache.commons</pattern> 
           <shadedPattern>com.myproject.commons</shadedPattern> 
          </relocation> 
         </relocations> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

그늘 플러그인은 제대로 직업했고, 유물을 com.myproject-myproject라는-의 .jar 및 실행 종속-감소 치어 파일을 음영 생산했다. 그런 다음 그림자 플러그인이 아닌 대신 원래 아티팩트 (종속성 없음)를 설치 한 플러그인을 설치하십시오.

더 나아가, 그 플러그인 문제 내 CI 서버 (젠킨스)를 설치하기 전에 프로젝트를 구축하고 올바르게 음영 유물과 의존성이 넥서스 저장소에 치어 감소 발표 (!). 이제는 넥서스에서 유물을 다운로드 했으므로 로컬 리포지토리에 올바른 항아리가 있지만 설치 플러그인을 사용하면 항아리가 좋지 않을 것입니다.

비슷한 문제가있는 사람이 있습니까? 누구든지 그들을 해결하는 방법을 알고 있습니까 ??

답변

0

내 자신의 질문에 대답하기 위해 문제는 나중에 다른 프로젝트로 옮겨 가지 않도록 제공되는대로 종속성을 표시했기 때문에 발생했습니다. 그림자가있는 병에 음영 플러그인이 포함되지 않았습니다.

관련 문제