Maven资源文件相关配置

Maven默认处理方式

构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

src/main/javasrc/test/java:这两个目录中所有的*.java文件会分别在compiletest-comiple阶段被编译,编译结果分别放到了target/classestarge/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

src/main/resoucessrc/test/resources:这两个目录中的文件会分别被复制到target/classestarget/test-classes目录中。

target/classes:打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。

Maven项目标准目录结构

Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,如下所示:

目录目的
${basedir}存放pom.xml和所有的子目录
${basedir}/src/main/java项目的java源代码
${basedir}/src/main/resources项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java项目的测试类,比如说Junit代码
${basedir}/src/test/resources测试用的资源
${basedir}/src/main/webapp/WEB-INFweb应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target打包输出目录
${basedir}/target/classes编译输出目录
${basedir}/target/test-classes测试编译输出目录
Test.javaMaven只会自动运行符合该命名规则的测试类
~/.m2/repositoryMaven默认的本地仓库目录位置

资源文件配置

资源文件是Java代码中要使用的文件。代码在执行的时候会到指定位置去查找这些文件。前面已经说了Maven默认的处理方式,但是有时候我们需要进行自定义的配置。

有时候有些配置文件通常与**.java文件一起放在src/main/java**目录(如mybatis或hibernate的表映射文件)。

有的时候还希望把其他目录中的资源也复制到classes目录中。这些情况下就需要在pom.xml文件中修改配置了。

可以有两种方法:

  • <build>标签下添加<resources>标签进行配置
  • <build>标签下的的<plugins>标签中配置maven-resources-plugin等处理资源文件的插件

配置<resources>标签

<build>
	<resources>
		<resource>
			<!-- 指定resources插件处理哪个目录下的资源文件 -->
			<directory>src/main/resources</directory>
			<!-- filtering为true时,这时只会把过滤的文件(<excludes>)打到classpath下 -->
			<!-- filtering为false时,会把不需要过滤的文件(<includes>)打到classpath下 -->
			<filtering>false</filtering>
	</resource>
		<resource>
			<directory>src/main/java</directory>
			<!-- 包含directory指定目录下的以下文件<include>和<exclude>都存在的话,这时会以<exclude>为准 -->
			<includes>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
				<include>**/*.yml</include>
				<include>**/*.tld</include>
			</includes>
			<filtering>false</filtering>
		</resource>
	</resources>
</build>

配置插件

<build>
	<plugins>
		<plugin>
		    <artifactId>maven-resources-plugin</artifactId>
		    <version>3.2.0</version>
		</plugin>
	</plugins>
</build>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人人都在发奋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值