maven 포장 총괄

5096 단어 mavenpluginresource
1. jar 를 포장 할 때 모든 resource 파일 을 제거 하려 고 합 니 다.
<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>

혹은
aaaaa
그러면 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 로 복사 합 니 다.
리 소스 복사 도 가능 합 니 다.
  
    org.apache.maven.plugins  
    maven-resources-plugin  
    2.3  
      
          
            copy-resources  
            package  
              
                copy-resources  
            
  
              
                UTF-8  
                ${project.build.directory}  
                  
                      
                        src/main/resources/  
                          
                            config.xml  
                            log4j.xml  
                        
  
                        true  

좋은 웹페이지 즐겨찾기