当前位置: 首页 > 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.dtcms.com/a/264000.html

相关文章:

  • 坚石ET ARM加密狗复制模拟介绍
  • gis服务器geoserver的下载与安装
  • 分布式爬虫数据存储开发实战
  • 开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B-探索input_guardrail 的创意应用(五)
  • WPF学习笔记(19)控件模板ControlTemplate与内容呈现ContentPresenter
  • 电子面单系统开发全解析
  • 创建对象的步骤
  • docker desktop部署本地gitlab服务
  • JVM 知识点
  • 数据结构day7——文件IO
  • MapReduce分布式计算框架:从原理到实战
  • 7.可视化的docker界面——portainer
  • 基于ApachePOI实现百度POI分类快速导入PostgreSQL数据库实战
  • 【C++】备忘录模式
  • 简单聊聊 Flutter 在鸿蒙上为什么可以 hotload ?
  • MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
  • 软件测试-持续集成
  • 嵌入式开发:主频与晶振详解
  • Qt自定义外观详解
  • 24年秋季快手笔试题
  • 哈尔滨服务器租用idc服务商-青蛙云
  • JVM调优实战 Day 15:云原生环境下的JVM配置
  • 【Axure视频教程】大小图轮播
  • 3D 商品展示与 AR 试戴能为珠宝行业带来一些便利?
  • 修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
  • C语言复习:数组和指针
  • 数据结构day5——队列和树
  • 转录组分析流程(三):功能富集分析
  • HakcMyVM-Arroutada
  • Rust 学习笔记:比较数值