当前位置: 首页 > news >正文

【Maven 】 <resources> 配置中排除 fonts/** 目录无效,可能是由于以下原因及解决方案:

如果 Maven 的 <resources> 配置中排除 fonts/** 目录无效,可能是由于以下原因及解决方案:


总结:用方法一即可

1. 检查资源过滤是否生效

确保 <build> 部分正确配置了 resources 插件:

<build><resources><resource><directory>src/main/resources</directory><excludes><exclude>fonts/**</exclude></excludes><!-- 如果需要过滤变量,添加此配置 --><filtering>false</filtering></resource></resources>
</build>

2. 验证目录结构

确认 fonts 文件夹的物理路径是否正确:

src/
└── main/└── resources/└── fonts/   # 确保这是要排除的目录├── font1.ttf└── font2.otf

3. 清理并重新构建

Maven 可能会缓存资源文件,执行以下命令强制刷新:

mvn clean package
# 或
mvn clean install -U

4. 检查其他插件干扰

某些插件(如 spring-boot-maven-plugin)可能会覆盖资源配置。添加显式排除:

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>non-exists</groupId><artifactId>non-exists</artifactId><classifier>fonts/**</classifier></exclude></excludes></configuration>
</plugin>

5. 使用绝对路径排除

尝试使用完整路径匹配:

<exclude>**/fonts/**</exclude>

6. 调试资源处理

查看 Maven 实际处理的资源文件列表:

mvn resources:resources -X | grep "Copying"

检查输出中是否仍包含 fonts 目录下的文件。


7. 替代方案:手动删除

如果配置仍不生效,可在打包后手动删除:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><executions><execution><phase>package</phase><goals><goal>run</goal></goals><configuration><target><delete dir="${project.build.outputDirectory}/fonts"/></target></configuration></execution></executions>
</plugin>

验证是否生效

打包后检查生成的 target/classes 或 JAR 文件中是否仍包含 fonts 目录:

jar tf target/your-app.jar | grep fonts/

常见问题原因

  1. 多模块项目中子模块配置被父 POM 覆盖
  2. 其他插件(如 maven-war-plugin)的重复资源处理
  3. IDE 缓存导致(尝试重启 IDE 或手动清理 target 目录)

通过以上步骤应能解决资源排除问题。如果仍不生效,建议提供完整的 pom.xml 和项目结构进一步分析。

http://www.xdnf.cn/news/1076743.html

相关文章:

  • 计算机网络(二)应用层HTTP协议
  • (LangChain)RAG系统链路向量存储之Milvus(四)
  • 【1.4 漫画PostgreSQL高级数据库及国产数据库对比】
  • 【MyBatis保姆级教程下】万字XML进阶实战:配置指南与深度解析
  • 2025年6月28和29日复习和预习(C++)
  • JVM调优实战 Day 15:云原生环境下的JVM配置
  • SQLite与MySQL:嵌入式与客户端-服务器数据库的权衡
  • sqlmap学习ing(2.[第一章 web入门]SQL注入-2(报错,时间,布尔))
  • C++ 第四阶段 STL 容器 - 第九讲:详解 std::map 与 std::unordered_map —— 关联容器的深度解析
  • 解决安装UBUNTU20.04 提示尝试将SCSI(0,0,0),第一分区(sda)设备的一个vfat文件系统挂载到/boot/efi失败...问题
  • poi java设置字体样式
  • 数据结构day4——栈
  • WPF学习笔记(18)触发器Trigger
  • Cypher 是 Neo4j 专用的查询语言
  • 归因问答-有效归因实践
  • 笔记本电脑怎样投屏到客厅的大电视?怎样避免将电脑全部画面都投出去?
  • Nginx重定向协议冲突解决方案:The plain HTTP request was sent to HTTPS port
  • Qt中使用QSettings数据或结构体到INI文件
  • 用 YOLOv8 + DeepSORT 实现目标检测、追踪与速度估算
  • 05【C++ 入门基础】内联、auto、指针空值
  • 物联网数据洪流下,TDengine 如何助 ThingLinks 实现 SaaS 平台毫秒级响应?
  • 在Linux中下载docker
  • 【SQL优化案例】索引创建不合理导致SQL消耗大量CPU资源
  • SpringBoot - 定时任务改Cron不重启,调度规则生效
  • RuoYi-Vue前后端分离版实现前后端合并
  • 用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践
  • docker desktop部署本地gitlab服务
  • 学习昇腾开发的第12天--安装第三方依赖
  • 基于springboot的养老院管理系统
  • LINUX2.6设备注册与GPIO相关的API