当前位置: 首页 > 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.lqws.cn/news/601255.html

相关文章:

  • 编写rosbag脚本记录雷达与imu数据包
  • 学习经验分享【41】YOLOv13:基于超图增强自适应视觉感知的实时目标检测
  • day41简单CNN
  • 【Web3.0】Web1.0、Web2.0和Web3.0有哪些区别联系?
  • MySQL 8.4 备份与恢复完全指南
  • win11,visual studio 2022,配置dcmtk,opencv
  • 【记录】Word|Word创建自动编号的多级列表标题样式
  • 结构体实战:用Rust编写矩形面积计算器
  • Linux安装JDK和Maven
  • vue中scss下载方式与引入方式
  • 【深度学习1】ModernBert学习
  • 【IP 潮玩行业深度研究与学习】
  • SpringCloud系列(45)--SpringCloud Bus简介
  • 基于Spring Cloud微服务架构的API网关方案对比分析
  • 快应用(QuickApp)技术解析与UniApp跨端开发生态探秘优雅草卓伊凡
  • 振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
  • 在CPU设计中,为什么要引入指令集架构?有什么好处?-- 数字IC笔试
  • 强化学习:Policy Gradients 学习笔记
  • 1.MySQL之如何定位慢查询
  • AI赋能智慧餐饮:Spring Boot+大模型实战指南
  • js严格模式和非严格模式
  • 从docker-compose快速入门Docker
  • JVM 中的垃圾回收算法及垃圾回收器详解
  • JavaWeb笔记02
  • 渗透测试(Penetration Testing)入门:如何发现服务器漏洞
  • pcap流量包分析工具设计
  • 数据结构:递归:斐波那契数列(Fibonacci Sequence)
  • 05【C++ 入门基础】内联、auto、指针空值
  • 09异常处理
  • 设计模式(七)