2012-06-26 1 views
3

로컬 저장소에서 파일 시스템의 디렉토리로 복사하려는 아티팩트가 2 개 있습니다.Maven 종속성을 사용하는 방법 : 목표 복사?

종속성 : 복사가이 작업을 수행한다고 생각합니다. 그러나 인수 artifactItems가 필요합니다. http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html

누구든지이 목표를 명령 줄에서 사용할 수 있습니까? 안타깝게도 명령 행에서이 목표를 사용하지는 않습니다.

답변

3

artifactItem을 명령 줄에서 제공하는 방법을 알아 내려고보다는 종속성 플러그인에 대한 명령 줄 실행을 구성했습니다. 실행 ID로 default-cli을 지정하여이를 수행하십시오. 항상 동일한 종속성을 복사하려는 경우 이슈 항목의 GAV 코드를 하드 코딩 할 수 있습니다. 또는 명령간에 일정한 값을 하드 코딩하십시오.

명령 행에서 다른 아티팩트를 복사하려면 속성을 요소 값으로 사용하고 명령 행에서 값을 지정하십시오. 예를 들어, artifactItem의 구성 (예를 가정 다른 요소 값을 하드 코딩) myArtifact 복사 할 다음

mvn dependency:copy -Dcopy.artifactId=myArtifact

<artifactId>${copy.artifactId}</artifactId> 포함.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.4</version> 
    <executions> 
    <execution> 
    <id>default-cli</id> 
    <configuration> 
     <artifactItems> 
     <artifactItem> 
      <!-- hardcode values, or use properties, depending on what you want to do --> 
      <groupId>[ groupId ]</groupId> 
      <artifactId>[ artifactId ]</artifactId> 
      <version>[ version ]</version> 
      <type>[ packaging ]</type> 
      <outputDirectory>/the/filesystem/dir</outputDirectory> 
     </artifactItem> 
     </artifactItems> 
     <!-- other configurations here --> 
    </configuration> 
    </execution> 
    </executions> 
    </plugin> 
1

Maven 프로젝트 내에서 수행할지 또는 사용하지 않을지 확실하지 않습니다. 전자의 경우, 당신은이를 사용할 수 있습니다

mvn dependency:copy -Dartifact='group.id:artifact.id:${version.property}' 
+0

'mvn'이 (가) 내부 또는 외부 명령으로 인식되지 않습니다 ... –

+0

@BakedInhalf 대답은 사용자가 Maven을 설치했다고 가정합니다. https://maven.apache.org/index.html – robinst

+0

Eclipse가 Maven을 설치합니다. 기본적으로 플러그인으로 만 사용됩니다. 나는 Maven을 2 차 설치하고 경로에/bin 폴더를 추가해야만했다. 이제 빈 프로젝트를 설정하고 항아리를 다운로드하고 일반 프로젝트에 항아리를 복사 한 다음 경로를 빌드하는 데 추가하십시오. –

1
:

mvn dependency:copy -Dartifact='group.id:artifact.id:your.version' 

을 경우 당신은 당신의 pom.xml 사용하여 속성에 이슈의 버전을 정의, 당신은 또한이 같은 해당 버전을 사용할 수 있습니다

artifactItems을 pom.xml에 쓰지 않으려면 "mvn dependency : copy"대신 "mvn dependency : copy-dependencies"명령을 사용할 수 있습니다.

관련 문제