返回顶部
首页 > 资讯 > 后端开发 > Python >Maven中resources标签的用法详解
  • 189
分享到

Maven中resources标签的用法详解

2024-04-02 19:04:59 189人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、resources作用1、打包编译作用2、配置文件取pom当中的值二、演示resources打包编译的作用1、创建SpringBoot项目2、进行编译打包3、出现问题4、得出

开发当中,我们一般打包都是利用Maven打包的,在项目当中我们经常会看见resources标签,可能很多人对这个标签并不是很理解,本篇文章主要详细记录resources标签的用法。

可能写的比较多,但是都是我亲自做实验,边做实验边记录的。看完相信你肯定能理解的。

一、resources作用

1、打包编译作用

在项目当中进行编译的时候,他默认是不会对某些文件进行编译的,例如在java文件夹下的mybatis当中的.xml文件,还有在resources文件夹当中有时候会存储一些资源文件,默认有些也是不进行编译的,这里的不进行编译指的是他不会编译到target文件夹当中,并且打包也是。

我们在正常开发项目的时候,有时候获取资源是获取的编译后的路径地址,他会在编译后的路径找不到文件(target文件夹),就是这个原因。

这时候就需要用到resources标签,在pom.xml添加,告诉maven我这些文件也需要编译,并且打包的时候需要打包进去。

2、配置文件取pom当中的值

在现实开发当中,我也遇到过,在pom文件当中配置参数,然后通过application.properties使用@@来进行取pom的值。假如我不想用application.properties取值,而是用了新创建的比如a.properties取值,这时候就需要在pom当中配置resources。

下面经过示例直接演示。

二、演示resources打包编译的作用

1、创建springboot项目

这里我创建了个空项目,然后resources当中加了很多空文件,java当中也是加了一个文件,pom.xml我是没有动的,现在开始编译打包测试

看看哪些文件在编译过后,会丢失。

2、进行编译打包

mvn clean install 一下:

这个是编译后的,可以看出来在java文件夹当中,我添加了a.fxml文件,但是编译过后却丢了。(注意:这里的fxml文件只是演示,总之不是java文件,也可能xml等文件

3、出现问题

这里我打的jar包,将包解压之后发现和target当中的classes一模一样。同样是缺少那个a.fxml文件。

4、得出结论

1、假如pom.xml不加resources,编译出来的会丢失文件,这也就是很多情况下,我们在本地电脑运行没有问题,但是一旦打包到服务器,会发现项目根本跑不起来,缺少各种文件,有时候就是这个原因。

2、target当中的classes和打出来的包解压后的classes是一模一样的。

5、添加resources进行解决

这里的配置代表的是,我要将src/main/java路径下.fxml文件结尾的,编译打包进去。

当有两个同类型文件,只想打包进去一个文件,可以在include标签当中指定文件名称。

<build>
	<resources>
		<resource>
			<directory>src/main/java</directory>
			<filtering>true</filtering>
	              <includes>
	                  <include>***.fxml</include>
            </includes>
        </resource>
		<resource>
			<directory>src/main/resources</directory>
			<filtering>true</filtering>
        </resource>
	</resources>
</build>	

从这里可以看出来,现在我项目当中的文件都打包进来了。

三、演示application取pom当中值

1、创建springboot项目

pom配置文件我添加了一个port设置。

<properties>
	<java.version>1.8</java.version>
	<port>8081</port>
</properties>

项目里面我添加了一个a.properties文件。a.properties和application.properties当中我都设置了:

server.port=@port@

目的:就是让配置文件的port去读pom.xml当中设置的port值。

2、进行编译打包

编译打包后会发现,a.properties没有变化,而application.properties却变成了maven当中设置的值。

3、得出结论

我这里用的是springboot2.6.2,不管是哪个版本都可以点进去,我们点进去观察。

从这里可以看出,springboot依赖当中,其实已经将application.properties给配置了。

也就是a.properties没有进行配置,所以取不到值,而application.properties配置了,所以取到值了。

4、添加resources进行解决

目前问题是假如我想让a.properties也一样可以取到值。

通过添加以下配置即可:

<resources>
  <resource>
	<directory>src/main/resources</directory>
	<filtering>true</filtering>
  </resource>
</resources>

注意:

这里的filtering一定要设置为true,假如为false,我们配置文件当中用到了@@取pom的值,会取不到。

实际上,他是在编译过后就把application当中的值给替换了,替换成了pom当中配置的值,而并非是程序当中获取的时候,他才动态去获取pom当中的值。

5、疑问

可能有的人会感觉好奇,为什么不这么配置,其实我也试了,只不过这么加的话,resources当中的文件就丢了,只剩下a.properties了。

<resources>
  <resource>
	<directory>src/main/resources</directory>
	<filtering>true</filtering>
	<includes>
	  <include>a.properties</include>
	</includes>
  </resource>
</resources>

总结一旦pom当中添加resources,指定某一个文件,就会导致resources其他文件打包的时候丢失,这两个例子其实都 体现 出来了。

到此这篇关于Maven中resources标签的用法详解的文章就介绍到这了,更多相关Maven resources内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Maven中resources标签的用法详解

本文链接: https://lsjlt.com/news/163273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Maven中resources标签的用法详解
    目录一、resources作用1、打包编译作用2、配置文件取pom当中的值二、演示resources打包编译的作用1、创建springboot项目2、进行编译打包3、出现问题4、得出...
    99+
    2024-04-02
  • 了解Maven的<relativePath/>标签用法
    目录了解Maven的 relativePath标签举例Maven继承父工程时的relativePath标签解析relativePath总结了解Maven的 relativePath标...
    99+
    2023-05-18
    Maven的<relativePath/> relativePath标签用法 Maven的relativePath标签
  • HTML5中的新标签和常用标签详解
    本篇内容介绍了“HTML5中的新标签和常用标签详解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML5...
    99+
    2024-04-02
  • maven的pom.xml中exclusions标签怎么用
    小编给大家分享一下maven的pom.xml中exclusions标签怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!maven pom.xml的exclusions标签作用项目中的例子  <...
    99+
    2023-06-22
  • maven中profiles使用详解,多环境开发配置文件(开发,测试,生产)+ pom中resources部分标签介绍
    一.maven中profiles使用详解(仅供参考) 使用的场景 常常遇到一些项目中多环境切换的问题。比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况。springboot...
    99+
    2023-10-26
    maven java bash
  • html include标签的用法详解
    HTML的include标签是一种用于在HTML文件中包含其他文件内容的标签,它可以将一个外部文件的内容嵌入到当前的HTML文件中。...
    99+
    2023-08-29
    html
  • HTML的iframe标签用法详解
    HTML的iframe标签用法详解 HTML中的iframe标签是用来在网页中嵌入其他网页或者图片等内容的一种方法。通过使用iframe标签,我们可以在一个网页中显示另一个网页的内容,...
    99+
    2024-02-22
    iframe标签 网页布局
  • resultMap标签中里的collection标签详解
    目录resultMap标签中的collection标签collection(一对多)collection标签中各属性的说明resultMap标签中的collection标签 coll...
    99+
    2024-04-02
  • 聊聊maven的pom.xml中的exclusions标签的作用
    maven pom.xml的exclusions标签作用 项目中的例子 <dependency> <groupId>org.springfram...
    99+
    2024-04-02
  • MyBatis动态SQL标签的用法详解
    1.MyBatis动态SQL MyBatis 的强大特性之一便是它的动态 SQL,即拼接SQL字符串。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 S...
    99+
    2024-04-02
  • HTML iframe标签用法案例详解
    目录一、iframe定义和用法 二、属性三、示例 1、iframe框架2、iframe透明3、iframe自适应高度4、通过js输出iframe广告代码 ...
    99+
    2024-04-02
  • html中object标签详解
    HTML中的<object>标签用于嵌入外部资源,如图像、音频、视频、Flash等,并在页面上显示这些资源,提供了一种通用的方式来嵌入各种不同类型的媒体资源,标签语法为”<object data="UR...
    99+
    2024-01-25
    object标签 html
  • Spring P标签的使用详解
    目录Spring P标签的使用本例设计对象Topic、Speech和Speakerspring配置p标签问题今天学习spring遇到这样的一个问题解决方法如下Spring P标签的使...
    99+
    2024-04-02
  • DreamWeaver中p标签br标签的使用方法
    小编给大家分享一下DreamWeaver中p标签br标签的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!DreamWeaver中输入的文字,想要换换,我们...
    99+
    2023-06-08
  • springmvc常用注解标签详解
     1、@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回...
    99+
    2023-05-31
    spring mvc 注解
  • html中span标签的用法
    标签用于样式化文本,使其单独显示样式而不创建块级元素。实现方式:用 标签包裹文本并添加样式属性,例如颜色、字体大小或背景色。它广泛用于突出显示文本、更改单个文本块的样式、创建自定义按...
    99+
    2024-04-27
  • html中ul标签的用法
    ul 标签在 html 中用于创建无序列表,它包含一个或多个 li 标签(列表项),可以嵌套在其他列表标签中以创建复杂的多级列表。 UL 标签在 HTML 中的用法 UL 标签(无序列...
    99+
    2024-04-27
  • html中br标签的用法
    html 中 标签的用法:在 html 文档中创建换行。只需将 标签插入需要换行的地方即可。注意:它不会自动添加间距或垂直空间,需要使用 css 样式。 HTML 中 标签的用法...
    99+
    2024-04-27
    css
  • html中form标签的用法
    form 标签用于创建表单,允许用户输入数据并提交至服务器端处理。属性包括 action(处理程序 url)、method(提交方式)、name(表单名称)、target(提交目标)、e...
    99+
    2024-04-28
    表单提交
  • html中p标签的用法
    p 标签是用于定义文本段落的 html 段落标签。其用法如下:使用 段落内容 语法创建段落。属性包括 align(对齐方式)、style(CSS 样式)和 class(CSS 类...
    99+
    2024-04-27
    css
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作