maven 포장 총괄
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<!--<classifier>lib</classifier>-->
<excludes>
<exclude>config/**</exclude>
<exclude>*.xml</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
여기 몇 가지 포인트 가 있어 요.
<id>default-jar</id>
이것 은 기본 패키지 id 입 니 다. 이것 을 추가 하지 않 으 면 추가 하지 않 았 습 니 다.<classifier>lib</classifier>
혹은
그러면 Maven 을 실행 할 때 나타 납 니 다.
maven-jar-plugin:2.3.1:jar (default-jar) @ *******
Building jar: *******
maven-jar-plugin:2.3.1:jar (default) @ *******
이 때 이 exclude 가 전혀 작 동 하지 않 는 다 는 것 을 알 게 될 것 입 니 다. 그것 은 default - jar 를 처음 실 행 했 을 때 기본 설정 을 사 용 했 기 때 문 입 니 다. 두 번 째 로 default 을 달 려 야 exclude 설정 이 있 지만 두 번 째 는 첫 번 째 포장 이름과 같 기 때문에 두 번 째 는 실행 되 지 않 았 습 니 다.
그래서 exclude 가 유효 하 다 면 이 설정 의 이름 을 default - jar 로 바 꾸 거나 jar 명령 을 한 번 만 실행 하 십시오.
또한 finalName 이나 classifier 를 추가 하면 jar 명령 이 두 번 있 습 니 다. 하 나 는 resource 를 포함 하고 다른 하 나 는 resource 를 포함 하지 않 습 니 다.
또한 < exclude > config < / exclude > 를 설정 하면 작 동 하지 않 습 니 다. < exclude > config / * < / exclude > 를 설정 하면 config 폴 더 에 있 는 파일 만 제외 합 니 다. 설정 하면
< exclude > config / * * < / exclude > 는 config 전체 폴 더 를 제거 합 니 다.
2. 워 백 시 리 소스 제외
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<warSourceExcludes>src/main/resources/**</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
이거 테스트 안 해 봤 어 요.
3. 의존 관 계 를 하나의 가방 으로 만 들 고 싶다.
<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}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeArtifactIds>junit,serlvet-api</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
이것 은 모든 의존 가방 을 target / lib 로 복사 합 니 다.
리 소스 복사 도 가능 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows에서 CodeArtifact(Maven)용 토큰을 자동으로 생성하는 방법CodeArtifact를 사용한 적이 있거나 사용할 계획이라면 매일 모든 Maven 프로젝트에서 수동으로 토큰(CODEARTIFACT_AUTH_TOKEN)을 생성해야 합니다. 이는 어려울 수 있으며 개발 속도를 늦출...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.