2017-03-14 16 views
1

this answer에서 읽을 수 있으므로 SBT (sbt- 어셈블리)는 이름이 바뀐 라이브러리를 가져 오는 프로젝트에서 패키지 이름 바꾸기를 허용합니다. 예 :프로젝트 종속성 이름 바꾸기

내 프로젝트에 org.pfcoperez.algorithms 패키지를 사용하고 싶지만, "확인"하고 싶습니다. 즉, com.algorithms으로 가져올 수 있습니다.

나는 here을 설명 메이븐 그늘 플러그인 종속성을 재배치 할 수 있음을 알고

  <relocations> 
      <relocation> 
       <pattern>org.codehaus.plexus.util</pattern> 
       <shadedPattern>org.shaded.plexus.util</shadedPattern> 
       <excludes> 
       <exclude>org.codehaus.plexus.util.xml.Xpp3Dom</exclude> 
       <exclude>org.codehaus.plexus.util.xml.pull.*</exclude> 
       </excludes> 
      </relocation> 
      </relocations> 

내가 새로운 패키지 구조를 갖는 중간 항아리를 생성하는 것을 사용할 수 있습니다. 그러나, 나는 중간 아티팩트 사용을 피하고 싶습니다.

SBT에서와 같이 Maven 프로젝트에서이 작업을 수행 할 수 있습니까? 대답이 '예'라면 어떻게 할 수 있습니까?

답변

1

나는 그것이 compile 단계에서 사용할 수 있도록의 process-resources 상에 shade:shade 목표를 부착하고 system 의존성으로 생성 된 항아리를 설정할 수 있다고 생각합니다.

그러나 IDE는 POM을 이해하는 데 문제가 거의 없으므로 권장하지 않습니다.