Maven学习(四) - 插件maven-resources-plugin

OpenClaw安装方式那么多,但建议大家还是用云厂商吧 OpenCloud的安装方式多样,包括One-liner、npm、pnpm和Hackable等。One-liner提供高效的单行命令安装;npm和pnpm作为Node.js包管理工具,分别提供常规和高性能的安装选项;Hackable则支持定制化安装。不同系统(macOS、Windows)和终端(PowerShell、CMD)的操作步骤各有特点,用户需根据自身技术背景选择合适的安装方式。官方推荐使用闲置计算资源或云部署方案以获得更佳体验。 阅读详情

Resources插件负责处理项目资源文件并拷贝到输出目录。Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。

Resources插件目标有三个:

  1. resources:resources,拷贝main resources到main output directory。它绑定了process-resources生命周期阶段,当执行Compiler:compile插件目标前就会执行此阶段。
  2. resources:testResources,拷贝test resources到test output directory。它绑定了process-test-resources生命周期阶段,当执行surefire:test插件目标前就会执行此阶段。
  3. resources:copy-resources,手动拷贝资源到输出目录

可以指定resources插件读取和写入文件的字符编码,比如ASCII,UTF-8或UTF-16。也可以指定${project.build.sourceEncoding}属性。

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

也可以通过<configuration>指定编码

<build>
	<plugins>
		<plugin>
			<artifactId>maven-resources-plugin</artifactId>
			<version>3.0.2</version>
			<configuration>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</build>

默认情况下,Maven会从项目的src/main/resources目录下查找资源。如果你的资源不在此目录下,可以用<resources>标签指定,同时也支持多个目录。

<build>
	<resources>
		<resource>
			<directory>src/main/resources1</directory>
		</resource>
		<resource>
			<directory>src/main/resources2</directory>
		</resource>
	</resources>
</build>

有的时候,资源文件中存在变量引用,可以使用<filtering>标签指定是否替换资源中的变量。变量的来源为pom文件中的<properties>标签中定义的变量。也可以在<build>中定义过滤器资源。

<build>
	<filters>
		<filter>filter-values.properties</filter>
	</filters>
	<resources>
		<resource>
			<directory>src/main/resources</directory>
			<filtering>true</filtering>
		</resource>
	</resources>
</build>

可能目录下的资源文件都需要被使用,可以使用<includes>和<excludes>来精细控制。

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
              <include>**/*.txt</include>
              <include>**/*.rtf</include>
            </includes>
            <excludes>
              <exclude>**/*.bmp</exclude>
              <exclude>**/*.jpg</exclude>
              <exclude>**/*.jpeg</exclude>
              <exclude>**/*.gif</exclude>
            </excludes>
        </resource>
    <resources>
</build>

如果资源中本来存在{}字符,不需要被替换,可以在字符,不需要被替换,可以在前加\,并在<configuration>中使用<escapeString>。

<plugins>
	<plugin>
		<artifactId>maven-resources-plugin</artifactId>
		<version>3.0.2</version>
		<configuration>
			<escapeString>\</escapeString>
			<encoding>UTF-8</encoding>
		</configuration>
	</plugin>
<plugins>

另外目录下存在二进制文件,需要排除,也可以在<configuration>中使用<nonFilteredFileExtensions>根据后缀来过滤。

<!-- 过滤后缀为pdf和swf的文件 -->
<plugins>
	<plugin>
		<artifactId>maven-resources-plugin</artifactId>
		<version>3.0.2</version>
		<configuration>
			<encoding>UTF-8</encoding>
			<nonFilteredFileExtensions>
				<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
				<nonFilteredFileExtension>swf</nonFilteredFileExtension>
			</nonFilteredFileExtensions>
		</configuration>
	</plugin>
<plugins>

如果你需要在其他阶段拷贝资源文件,可以使用插件目标copy-resources。

<build>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.0.2</version>
            <executions>
              <execution>
                <id>copy-resources</id>
                <!-- here the phase you need -->
                <phase>validate</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
                    <resources>          
                        <resource>
                            <directory>src/non-packaged-resources</directory>
                            <filtering>true</filtering>
                        </resource>
                    </resources>              
                </configuration>            
              </execution>
            </executions>
        </plugin>
    </plugins>
</build>

参考文档:

  1. http://maven.apache.org/plugins/maven-resources-plugin/
单电源运放偏置电压设计:如何避免信号失真 本文详细解析了单电源运放偏置电压设计的关键技术,以LM358为例,探讨如何通过1/2 VCC偏置避免信号失真。文章从基本原理出发,揭示了双端偏置的黄金法则,并提供了常见设计陷阱的解决方案和进阶调试技巧,帮助工程师实现高保真信号放大。 阅读详情

相关推荐

【BUAA】【计组】计算机组成 pre (含详细解析)

BUAA 计算机组成 本文章旨在为@走肖暂时无法接通的系列文章创造一个目录,收藏本文章,方便查阅! 1. 入门测试 2. 基础知识 3. Logisim   欢迎来到 Logisim 的世界   Logisim 门电路   Logisim 组合电路   Logisim 时序电路   Logisim 仿真与调试   应用与挑战 4. Verilog 与仿真工具   前言   ISE 入门   VCS 入门   Verilog 语法   Verilog 题目实例与分析   Verilog 工程的设计开发调试

Schrodinger007的博客 9813

maven插件之maven-resource-plugin

maven插件-maven-resource-plugin 使用 指定资源目录 Filtering include and exclude 包括与排除文件目录 Binary filtering(二进制文件过滤) maven插件-maven-resource-plugin maven resource plugin将复制的工程的resources下的文件到输出目录。一般的maven工程都...

面朝大海,春暖花开 5816

实证研究之|stata清洗charls数据

stata

qq_45313933的博客 6765

maven-resources-plugin

maven_jar配置分离

big_godest的博客 1万+

GAMES101学习-第8课进行shader的初步了解

详细理解课上展示的像素着色器GLSL,以及了解了API、OpenGL、DirectX到底是什么,还有shadertoy这个网站的初步探索。

qq_41835314的博客 1917

随机向量函数链神经网络(RVFLNN)简介——附测试代码

宽度学习(Broad Learning System)原理介绍:随机向量函数链神经网络(RVFLNN) 目录宽度学习(Broad Learning System)原理介绍:随机向量函数链神经网络(RVFLNN)结构分析和训练优化 函数链神经网络(Functional-link neural network,简称FLNN)的结构如下图。 和深度神经网络结构不同的是,FLNN相当于把隐层放到了输入层中,作为增强结点(Enhancement nodes)。也可以理解成FLNN在输入层就对输入向量进行了非线性变换

weixin_44517742的博客 1万+

利用maven中resources插件的copy-resources目标进行资源copy和过滤

maven用可以利用如下配置进行资源过滤,pom.xml的配置如下:   &lt;build&gt; &lt;!-- 主资源目录 --&gt; &lt;resources&gt; &lt;resource&gt; &lt;!-- 设定主资源目录 --&gt...

xigua355的博客 1281

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南

本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。

weixin_29093017的博客 485

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

C++(Qt)软件调试---Windows下Qt使用dump定位崩溃位置(1)

在C++/Qt程序崩溃时,往往很难找到崩溃的原因,如果是稳定复现的问题还好,但是多数情况遇见的问题是随机出现的,这时想要快速找到问题并解决就需要通过dump文件定位崩溃位置。

mahuifa的博客 1万+

MacBook 长期挂机 OpenClaw:电池保护 + 防休眠设置

本文介绍了MacBook长期挂机运行OpenClaw时的电池保护和防休眠设置方案。主要内容包括:1)电池保护策略,通过电源连接、充电限制和定期充放电维护电池健康;2)防休眠设置,禁用系统休眠、自动休眠和屏幕休眠;3)OpenClaw的Docker部署方法。文章提供了详细的命令行脚本和配置说明,帮助用户实现MacBook的长期稳定运行,同时保护电池寿命。

一键难忘的博客 1696

maven-resources-plugin详解

本篇文章重点针对这几个问题进行讲解:maven-resources-plugin到低在什么场景下使用?他到底有什么作用?他和pom当中配置的resources标签又有什么关联?为什么有的项目使用了该插件而有的却没有?resources当中的filtering标签到低是干什么的?maven怎么打包过滤文件?

怪咖@的博客 1万+

DSP开发环境及工具之CCS

CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。

小柚子的博客 4313

maven中的maven-resources-plugin插件详解

Maven-resources-plugin是Maven构建工具的核心插件,主要用于处理项目资源文件。其核心功能包括资源复制(默认将src/main/resources下的文件复制到target/classes)、资源过滤(支持${property}占位符替换)以及包含/排除规则控制。典型应用场景涉及多环境配置、动态占位符替换等。配置时需注意文件编码、过滤范围及二进制文件保护。该插件通过标准化资源管理,显著提升项目构建效率,尤其在微服务和多环境部署场景中作用突出。

技术人集结地 2306

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Maven 核心插件 maven-resources-plugin 使用详解

资源插件负责将项目资源到输出目录。Maven 项目有两种不同的资源:主资源和测试资源。区别在于,主资源(默认在目录)是与主源代码(位于目录下)关联的资源,而测试资源(默认在目录)与测试源代码(位于目录下)关联。从 2.3 版本开始,该插件可以使用 Maven 过滤组件来过滤资源。资源插件将resource元素所指定的文件复制到输出目录。以下三个插件目标仅在指定资源和输出目录的 XML 元素的方式上有所不同。:将主资源目录中的资源复制到构建输出目录,并支持过滤;:将测试资源目录中的资源复制到构建输出目录。

栗筝i的博客 5450

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Maven核心插件之maven-resources-plugin

在项目当中进行编译的时候,默认是不会对某些文件进行编译的,例如在java文件夹下的mybatis当中的 xml 文件,还有在resources文件夹当中有时候会存储一些资源文件,默认也是不进行编译的。注意,这里的不进行编译指的是不会编译到target文件夹当中,并且打包也是。在正常开发项目的时候,有时候获取资源是获取的编译后的路径地址,在编译后的路径找不到文件(target文件夹),就是这个原因。

独泪了无痕 2498

Apache Maven Resources Plugin插件详解

Apache Maven Resources Plugin是Apache Maven团队提供的官方核心插件,能够将Maven项目中的各种资源文件复制到指定的输出目录中。 1. 在Maven项目中的资源可以分为两类 main资源,指位于src/main/resources路径下的资源文件 test资源,指位于src/test/resources路径下的资源文件 2.Apache Maven ...

成长的足迹 1万+

maven插件maven-resources-plugin的使用教程

1、概念 maven中默认只能读取resources文件夹下的资源,如果要读取其他路径下的资源文件,那么就需要用到maven-resources-plugin这一插件 2、配置 (1)在maven配置文件pom.xml中导入插件 <plugin> <groupId>org.apache.maven.plugins</groupId> ...

弱水三千、先干为敬 1万+

maven打包插件:maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin详解

最近开发的产品,我们是有四五个maven模块,开发阶段一直是在eclipse中运行的,然后快发版的时候,需要把这些项目打成jar包,通过命令去启动,那首先就得把这些模块项目打包,或者拷贝一些资源文件等等。  1.maven打包,首先在pom文件中加上build属性,和dependencies是同级的: &lt;build&gt; &lt;!--打包出来的文件名,可以不填写,有默认值--...

XiaodunLP的博客 3288

maven-resources-plugin的使用

<!--对资源管理的插件,使用过程中发现maven-source-plugin可能会出现bug,推荐使用maven-resources-plugin--> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

Jobs1127的博客 8001

Spring Boot 打包报错Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0

问题描述: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project helloworld: Input length = 1 -> [Help 1] 问题分析: 1、由于plugin标签的内容是Spring Boot自动生成,plugin标签里面的groupId,artifactId,version属性

旭东怪的博客 4万+

maven-resources-plugin插件使用

maven-resources-plugin主要是将项目中的资源文件编译、打包;注意,资源文件不是源代码,一般是环境的配置文件,默认存在src/main/resources和src/test/resources中。 maven-resources-plugin的三个目标(goal): resources:resources:用来将目录中的资源文件src/main/resources拷贝到编译目...

jiang_zf的博客 3396

AppAssember和maven-resources-plugin插件的使用

目标:resources, testResources指定resources插件读取和写入文件的字符编码,比如ASCII,UTF-8或UTF-16。默认情况下,Maven会从项目的src/main/resources目录下查找资源。如果你的资源不在此目录下,可以用<resources>标签指定,同时也支持多个目录。有的时候,资源文件中存在变量引用,可以使用<filtering>标签指定是否替换资源中的变量。变量的来源为pom文件中的<properties>标签中定义的变量。

stay hungry ! stay foolish! 890
上一篇: Maven学习(六) - 插件maven-shade-plugin
下一篇: Maven学习(一) - Maven基础
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值