maven资源文件的相关配置
2017-03-03 07:03
316 查看
原文链接:http://www.cnblogs.com/pixy/p/4798089.html
构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。
src/main/java和src/test/java
这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。
src/main/resouces和src/test/resources
这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。
target/classes
打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。
src
main
java 源文件
resources 资源文件
filters 资源过滤文件
config 配置文件
scripts 脚本文件
webapp web应用文件
test
java 测试源文件
resources 测试资源文件
filters 测试资源过滤文件
it 集成测试
assembly assembly descriptors
site Site
target
generated-sources
classes
generated-test-sources
test-classes
xxx.jar
pom.xml
LICENSE.txt
NOTICE.txt
README.txt
资源文件是Java代码中要使用的文件。代码在执行的时候会到指定位置去查找这些文件。前面已经说了Maven默认的处理方式,但是有时候我们需要进行自定义的配置。
有时候有些配置文件通常与.java文件一起放在src/main/java目录(如mybatis或hibernate的表映射文件)。有的时候还希望把其他目录中的资源也复制到classes目录中。这些情况下就需要在Pom.xml文件中修改配置了。
可以有两种方法:
一是在<build>元素下添加<resources>进行配置。
另一种是在<build>的<plugins>子元素中配置maven-resources-plugin等处理资源文件的插件。
另一个插件也能完成相同的功能
打包时target/classes目录中的资源文件会和class字节码一起被打进jar包或war包中。有时候默认的情况不能完全满足需求,如target/classes目录中的一些文件不希望打入jar包中,就需要额外配置maven-jar-plugin插件。
参考资料
http://bglmmz.iteye.com/blog/2063856
构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。
src/main/java和src/test/java
这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。
src/main/resouces和src/test/resources
这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。
target/classes
打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。
Maven项目的标准目录结构
srcmain
java 源文件
resources 资源文件
filters 资源过滤文件
config 配置文件
scripts 脚本文件
webapp web应用文件
test
java 测试源文件
resources 测试资源文件
filters 测试资源过滤文件
it 集成测试
assembly assembly descriptors
site Site
target
generated-sources
classes
generated-test-sources
test-classes
xxx.jar
pom.xml
LICENSE.txt
NOTICE.txt
README.txt
资源文件的配置
资源文件是Java代码中要使用的文件。代码在执行的时候会到指定位置去查找这些文件。前面已经说了Maven默认的处理方式,但是有时候我们需要进行自定义的配置。有时候有些配置文件通常与.java文件一起放在src/main/java目录(如mybatis或hibernate的表映射文件)。有的时候还希望把其他目录中的资源也复制到classes目录中。这些情况下就需要在Pom.xml文件中修改配置了。
可以有两种方法:
一是在<build>元素下添加<resources>进行配置。
另一种是在<build>的<plugins>子元素中配置maven-resources-plugin等处理资源文件的插件。
配置resouces节点
<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>
另一个插件也能完成相同的功能
<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>
打包时文件相关的配置
打包时target/classes目录中的资源文件会和class字节码一起被打进jar包或war包中。有时候默认的情况不能完全满足需求,如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>
参考资料
http://bglmmz.iteye.com/blog/2063856
相关文章推荐
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置
- maven资源文件的相关配置才会在编译后的target里面有
- maven 打包时动态替换properties资源文件中的配置值
- Maven pom.xml 配置说明: 打jar包不包括指定资源文件和.class xml,配置不跑testCase,建pom父子项目
- MAVEN的POM文件以及dubbo的相关配置(service和web)
- Maven整合SSM框架相关的配置文件
- myBatis自动生成相关代码文件配置(Maven)
- maven 打包时动态替换properties资源文件中的配置值
- maven中pom文件配置解决资源文件的编码问题
- MAVEN打包时,包含更多的资源文件配置教程
- Maven打包pom里面配置exclude 排除掉环境相关的配置文件