Maven基础-pom.xml中配置资源目录

1.说明

在maven项目中,src/main/java 目录下的.java文件,会在mvn compile 阶段进行编译,
并且,将编译输出的.class文件复制到 target/classes 目录中,
但是,其他的非 .class 文件将会被忽略。
因此,如果需要把 src 目录下的文件包放到 target/classes 目录,作为输出的 jar 一部分,就需要指定资源文件位置。

2.具体的配置

2.1 关键的配置内容

需要在 build 标签中添加如下内容:
directory 标签 : 表示要配置的资源的目录
include 标签 : 表示包含哪些文件
**/ : 表示任意级目录
*.properties : 表示 properties 类型的文件(其他文件可以类比理解)

 <!-- 配置资源目录 :  -->
  <resources>
    <resource>
      <directory>src/main/java</directory><!--所在的目录-->
      <includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
        <include>**/*.properties</include> <!-- **/ 表示目录的递归,即任意级的目录; -->
        <include>**/*.xml</include>
        <include>**/*.yaml</include>
      </includes>
      <!-- filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 -->
      <filtering>false</filtering>
    </resource>
  </resources>

2.2 完整的pom.xml样子

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<!--  当前项目的坐标信息-->
	<groupId>com.northcastle</groupId>
	<artifactId>helloworld-maven-java</artifactId>
	<version>1.0-SNAPSHOT</version>

  <!--设置打包的类型为 jar 包-->
  <packaging>jar</packaging>

	<!--  自定义的属性设置,可以自己进行配置和修改-->
	<properties>
		  <!--  maven 编译代码使用的jdk版本  -->
		  <maven.compiler.source>1.8</maven.compiler.source>
		  <!--  maven 执行代码使用的jdk版本  -->
		  <maven.compiler.target>1.8</maven.compiler.target>
		 	......
		 	其他属性相关的配置
	</properties>

	<!--  依赖中默认带有一个 junit 单元测试-->
	<dependencies>
		......
		依赖包的配置
	</dependencies>

	<build>
		......
		其他的构建相关的配置
		
	  <!-- 配置资源目录(就是在这里进行配置) -->
	  <resources>
	    <resource>
	      <directory>src/main/java</directory><!--所在的目录-->
	      <includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
	        <include>**/*.properties</include>
	        <include>**/*.xml</include>
	        <include>**/*.yaml</include>
	      </includes>
	      <!-- filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 -->
	      <filtering>false</filtering>
	    </resource>
	
	  </resources>
	</build>
</project>

3.进行编译测试

3.1 项目的目录结构

在这里插入图片描述

3.2 执行编译命令

$ mvn compile

在这里插入图片描述

3.3 编译之后的输出目录

对应源码目录的文件都复制下来了,
此时进行项目打包构建的时候也可以正常的将资源文件打包了。

在这里插入图片描述

4.完成

Congratulations!
You are one step closer to success!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值