1

모든 Maven 플러그인은 .war 프로젝트 중 하나 이상의 종속성 (전부는 아님)을 warSourceDirectory (src/main/webapp)에 복사 할 수 있습니까?Maven - 일부 종속성 JAR 파일을 warSourceDirectory로 복사

애플릿을 표시하는 Java 웹 응용 프로그램에서 작업하고 있습니다. 전쟁 프로젝트에서 일부 항아리 (애플릿의 종속성)의 최신 버전을 선택하고 /src/main/webapp/에 붙여 넣어 장소를 복사하지 않아도됩니다.

애플릿 자체를 음영 처리하고 uber-jar-ing하는 방법에 대해 생각해 보았습니다.하지만 하나의 거대한 항아리를 다운로드해야하는 사용자를 저장하기 위해 jar 파일을 분할하고 싶습니다.

+0

maven-dependency-plugin을'copy' 또는'copy-dependencies' 목표와 함께 사용할 수 있습니다. – khmarbaise

답변

2

dependency:copy에 대한 사용은 Maven Dependency Plugin입니다.

또한 읽기 예제 페이지 : src/main/webapp에 파일을 복사 Copying specific artifacts

샘플 구성

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-dependency-plugin</artifactId> 
<version>2.8</version> 
<executions> 
    <execution> 
     <id>copy</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>copy</goal> 
     </goals> 
     <configuration> 
      <artifactItems> 
       <artifactItem> 
        <groupId>junit</groupId> 
        <artifactId>junit</artifactId> 
        <version>3.8.1</version> 
        <type>jar</type> 
        <overWrite>false</overWrite> 
        <destFileName>optional-new-name.jar</destFileName> 
       </artifactItem> 
      </artifactItems> 
      <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/</outputDirectory> 
      <overWriteReleases>false</overWriteReleases> 
      <overWriteSnapshots>true</overWriteSnapshots> 
     </configuration> 
    </execution> 
</executions> 

나쁜 생각입니다. 파일을 직접 target 폴더로 복사하십시오.

+1

답장을 보내 주셔서 감사합니다 .- 나는 유물이 아닌'artifactId'를 사용하여 답변을 수정했습니다. 내 대답에서 전체 플러그인 구성을 추가하면 기꺼이 결정적인 것으로 표시됩니다. –