日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven之build resources resource 详细介绍

發布時間:2024/9/27 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven之build resources resource 详细介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Maven_Build_Resources
功能:主要用于打包資源文件,默認情況下maven只打包src/main/resource下的資源,通過:
1、設置build_resources
2、使用build-helper-maven-plugin插件
3、使用maven-resources-plugin插件
都可以自定義要打包的資源

一般情況下,我們用到的資源文件(各種xml,properties,xsd文件)都放在src/main/resources下面,利用maven打包時,maven能把這些資源文件打包到相應的jar或者war里。

有時候,比如mybatis的mapper.xml文件,我們習慣把它和Mapper.java放在一起,都在src/main/java下面,這樣利用maven打包時,就需要修改pom.xml文件,來吧mapper.xml文件一起打包進jar或者war里了,否則,這些文件不會被打包的。(maven認為src/main/java只是java的源代碼路徑)。

方法1,其中*/這樣的寫法,是為了保證各級子目錄下的資源文件被打包。

<build> <finalName>test</finalName> <!-- 這樣也可以把所有的xml文件,打包到相應位置。 <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> </resources> </build>

方法2,利用build-helper-maven-plugin插件

<build> ... </plugins> ... <!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件, 打包到相應位置,這里主要是為了打包Mybatis的mapper.xml文件 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution> <id>add-resource</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> ... </plugins> ... </build>

方法3,利用maven-resources-plugins插件

<build> ... </plugins> ... <!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件,打包到相應位置, 這里主要是為了打包Mybatis的mapper.xml文件 --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>copy-xmls</id> <phase>process-sources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/classes</outputDirectory> <resources> <resource> <directory>${basedir}/src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> ... </plugins> ... </build>

以下是對maven 插件的說明:

resources:描述工程中資源的位置

<resource> <targetPath>META-INF/plexus</targetPath> <filtering>false</filtering> <directory>${basedir}/src/main/plexus</directory> <includes> <include>configuration.xml</include> </includes> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource>

targetPath:指定build資源到哪個目錄,默認是base directory

filtering:指定是否將filter文件(即build下的filters里定義的*.property文件)的變量值在這個resource文件有效,例如上面就指定那些變量值在configuration文件無效。

directory:指定屬性文件的目錄,build的過程需要找到它,并且將其放到targetPath下,默認的directory是${basedir}/src/main/resources

includes:指定包含文件的patterns,符合樣式并且在directory目錄下的文件將會包含進project的資源文件。

excludes:指定不包含在內的patterns,如果inclues與excludes有沖突,那么excludes勝利,那些符合沖突的樣式的文件是不會包含進來的。

testResources:這個模塊包含測試資源元素,其內容定義與resources類似,不同的一點是默認的測試資源路徑是${basedir}/src/test/resources,測試資源是不部署的。

默認情況下,如果沒有指定resources,目前認為自動會將classpath下的src/main/java下的.class文件和src/main/resources下的.xml文件放到target里頭的classes文件夾下的package下的文件夾里。如果設定了resources,那么默認的就會失效,就會以指定的includes和excludes為準。例如,為了使打包的jar包里頭包含.java源文件。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的maven之build resources resource 详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。