를 사용하고 있지만, lib
및 bin
가 쉽습니다. copy all dependencies to a folder으로
바로이 작업을 수행 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/dist/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
를 출력하려면 당신의 항아리 빈 (bin) 폴더로 할이 (reference page) :
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<finalName>${project.artifactId}</finalName>
<outputDirectory>${project.build.directory}/dist/bin</outputDirectory>
</configuration>
</plugin>
아, 추가 요구 사항이 있습니다
결론 : 나는이 모든 것을하고 싶지만 c와 같은 기본 "목표"의 동작을 변경하고 싶지는 않습니다. 당신은 추가하지 않는 경우 DIST 디렉토리를 얻을 이제 mvn clean package -Pdist
할 것
<profile>
<id>dist</profile>
<build>
<plugins>
<!-- insert stuff from above here -->
</plugins>
</build>
</profile>
과 : ompile이 경우 패키지 등
내가 이걸 설정하는 프로파일을 사용하십시오 프로필을 사용하면 기본 동작을 얻습니다.
기본적으로 상황은 개미에서와는 다르게 작동합니다. 타겟이 없으며 라이프 사이클 단계와 플러그인 목표 만 있습니다. 당신이 mvn compile
을 할 경우
당신이이 일에 모든 단계에 바인딩 된 모든 Maven 플러그인 목표를 호출 라이프 사이클 단계를 실행할 수 있습니다 (예는 다음과 같은 단계가 실행됩니다 validate
, initialize
, generate-sources
, process-sources
, generate-resources
, process-resources
, compile
). 그러나 dist
이라는 수명주기 단계를 정의하는 (쉬운) 방법은 없습니다.
또는 특정 플러그인 목표를 실행할 수 있습니다 (실제로 여러 단계 및/또는 플러그인 목표를 실행할 수 있음). 예 : 당신은 자신의 dist 플러그인을 작성하여 mvn dist:dist
을 사용하여 호출 할 수 있지만 기존 기능을 사용하고 있으며 프로파일 솔루션이 꽤 적합해야하기 때문에 필자는 권장하지 않습니다.
괜찮습니까? 그렇다면이 행동은 어떻게 시작될까요? 'mvn 패키지'를 실행합니까? 나는 'maven dist'와 같은 것을하고 싶고 이것을 (문제를 해결하기 위해) 업데이트하려고합니다. 가능한가? – jrharshath
+1 흠, 도움이됩니다. 질문 : 패키지 수명주기 또는 배포에서 수행해야하는 작업을해야합니까? 그리고 왜? – jrharshath
@simpatico이 질문에 대한 의견이 아닌 것 같아요, 제 대답은 아닙니다, 맞습니까? –