Maven resource标签
構(gòu)建Maven項(xiàng)目的時(shí)候,如果沒(méi)有進(jìn)行特殊的配置,Maven會(huì)按照標(biāo)準(zhǔn)的目錄結(jié)構(gòu)查找和處理各種類型文件。
?
src/main/java和src/test/java?
這兩個(gè)目錄中的所有*.java文件會(huì)分別在comile和test-comiple階段被編譯,編譯結(jié)果分別放到了target/classes和targe/test-classes目錄中,但是這兩個(gè)目錄中的其他文件都會(huì)被忽略掉。
?
src/main/resouces和src/test/resources
這兩個(gè)目錄中的文件也會(huì)分別被復(fù)制到target/classes和target/test-classes目錄中。
?
target/classes
打包插件默認(rèn)會(huì)把這個(gè)目錄中的所有內(nèi)容打入到j(luò)ar包或者war包中。
?
?
Maven項(xiàng)目的標(biāo)準(zhǔn)目錄結(jié)構(gòu)
- src
- main
- java?? ? ? ? 源文件?
- resources?? ?資源文件
- filters ? 資源過(guò)濾文件
- config ? 配置文件
- scripts ? 腳本文件
- webapp ? web應(yīng)用文件
- test
- java?? ?測(cè)試源文件
- resources ? ?測(cè)試資源文件
- filters ? ?測(cè)試資源過(guò)濾文件
- it ? ? ? 集成測(cè)試
- assembly ? ?assembly descriptors
- site ? ?Site
- main
- target
- generated-sources
- classes
- generated-test-sources
- test-classes
- xxx.jar
- pom.xml
- LICENSE.txt
- NOTICE.txt
- README.txt
?
資源文件的配置
資源文件是Java代碼中要使用的文件。代碼在執(zhí)行的時(shí)候會(huì)到指定位置去查找這些文件。前面已經(jīng)說(shuō)了Maven默認(rèn)的處理方式,但是有時(shí)候我們需要進(jìn)行自定義的配置。
有時(shí)候有些配置文件通常與.java文件一起放在src/main/java目錄(如mybatis或hibernate的表映射文件)。有的時(shí)候還希望把其他目錄中的資源也復(fù)制到classes目錄中。這些情況下就需要在Pom.xml文件中修改配置了。
可以有兩種方法:
- 一是在<build>元素下添加<resources>進(jìn)行配置。
- 另一種是在<build>的<plugins>子元素中配置maven-resources-plugin等處理資源文件的插件。
?
配置resouces節(jié)點(diǎn)
<build>.......<resources><resource><directory>src/main/resources</directory><excludes><exclude>**/*.properties</exclude><exclude>**/*.xml</exclude></excludes><filtering>false</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>...... </build>配置資源處理插件
<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>打包時(shí)文件相關(guān)的配置
打包時(shí)target/classes目錄中的資源文件會(huì)和class字節(jié)碼一起被打進(jìn)jar包或war包中。有時(shí)候默認(rèn)的情況不能完全滿足需求,如target/classes目錄中的一些文件不希望打入jar包中,就需要額外配置maven-jar-plugin插件。
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>2.4</version><configuration><excludes><exclude>*.properties</exclude></excludes><archive><manifest><addClasspath>true</addClasspath><mainClass>xxxxxx.ConsoleLauncher</mainClass></manifest></archive></configuration></plugin>?
總結(jié)
以上是生活随笔為你收集整理的Maven resource标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Shiro过滤器源码
- 下一篇: java8 :: 用法 (JDK8 双冒