maven pom進階教程 - 資源文件拷貝插件maven-resources-plugin

官方文檔http://maven.apache.org/plugins/maven-resources-plugin/index.html
它最經常使用的兩個goal:
resources:resources 這是process-resources階段的默認goal, 在不配置任何參數的狀況下,將默認使用build.resources中的目錄做爲源路徑,將build.outputDirectory做爲目標路徑(其實是這目錄下的classes).
resources:copy-resources 須要明確的指定源路徑和目標路徑.
示例以下html

<build>
	<outputDirectory>${project.basedir}/target</outputDirectory> <!-- 廢代碼,默認值就是個 -->
	<resources>
		<resource>
			<directory>${project.basedir}/src/main/resources</directory> <!-- 廢代碼, 默認值 -->
		</resource>
	</resources>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-resources-plugin</artifactId>
			<version>3.0.2</version>
			<executions>
				<execution> <!--本示例顯式地配置了process-resource階段的插件配置-->
					<id>default-resources</id> <!-- default-resources是process-resource階段綁定的id,所以本配置將取代默認的配置 -->
					<phase>validate</phase><!-- 默認操做本來是在process-resource階段執行的,本示例將其更改到了validate階段 -->
					<goals>
						<goal>resources</goal><!--廢代碼,default-resources的goal就是resource,若是這裏的值更改成copy-resources, 則須要顯示配置resource和outputDirectory, 而且致使資源拷貝操做被執行兩次 -->
					</goals>
					<configuration>  
						<!-- 若是不配置,則使用build.resources做爲源,build.outputDirectory做爲目標, 若是明確進行了配置,build.resources將被忽略 -->  
						<!--  </br>
						<outputDirectory>${project.basedir}/target/classes</outputDirectory>    
						<resources>  
							<resource>  
								<directory>src/main/resources</directory>  
								<filtering>false</filtering>  
							</resource>  
						</resources>  
						<skip>false</skip>  若是配置爲true,則本操做不被執行  
						 -->
					</configuration>
				</execution>
				<execution>
					<id>copy2</id> <!--自定義的id,隨便寫 -->
					<phase>compile</phase><!--在compile階段執行-->
					<goals>
						<goal>copy-resources</goal><!--這個goal須要明確的配置-->
					</goals>
					<configuration>
						<outputDirectory>${project.basedir}/target/conf3</outputDirectory>
						<resources>
							<resource>
								<directory>src/main/resources3</directory>
								<filtering>true</filtering> <!--開啓資源文件插值操做-->
								<includes><!--包含directory下的全部的properties, 包括子目錄-->
									<include>**/*.properties</include>
								</includes>
							</resource>
						</resources>
					</configuration>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

filter,見maven pom進階教程 - properties、filterapache

相關文章
相關標籤/搜索