多模块中部分模块的配置文件 类加载器加载不到

2024-09-05 19:58

本文主要是介绍多模块中部分模块的配置文件 类加载器加载不到,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

场景:

做公司多模块项目时,发现公司原有的模块的配置文件,类加载器都能加载到文件,而自己新建的模块(或者复制的其他模块改名)。项目目录下:(不方便截图)

项目名

#--子模块1

#--子模块2

#--子模块3

#-----子子模块1

#--------子子模块1的pom

#-----子子模块2

#--------子子模块2的pom

#-----自己新建的模块

#--------子子模块 的pom

#-----pom文件

#--子模块4

#--pom文件

其中每一个子子模块都有一个自己对于的plugins.xml配置文件。该文件都放在 每个子模块的resource文件下,

项目中使用的类加载器代码文件如下:

Enumeration<URL> pluginConfigResources = 
Thread.currentThread().getContextClassloader().getResources("plugin.xml")

正常情况下,该语句将会加载 根路径下所有的名字为“plugin.xml”的文件。

解决方法:

1、首先,查看target文件夹是否存在,没有存在的话  build一下。

2、查看target文件夹中是否有“plugin.xml” ,如果没有说明,需要给编译器指明一下哪些是source文件夹,哪些是resource文件夹。idea的structure中可以查看.。这个文件夹的性质还可以通过在pom中添加:也可以指明

<build><resources><resource><directory>src/main/java</dircetory><includes><include>**/*.java</include></includes><filtering>false<filtering><resource><resource><directory>src/main/resources</dircetory><includes><include>**/*.*</include></includes><filtering>false<filtering><resource></resorces>
</build>

 

3、以上都没问题,而类加载器(java的类加载器会去 里去查找我们的文件名称)死活加载不上,这时看了某个大佬的博客,“构建子模块却无法加载”https://blog.csdn.net/weixin_45151960/article/details/109001773 

发现需要在 启动类的pom文件中依赖,我们新建的模块。即使我们新建的模块在它的父模块(该父模块已在启动类模块中添加了依赖)的pom文件中添加 <model>模块名<model>了,我们也要在 启动模块的pom文件中添加,子模块的依赖。

至此,郁闷了几天的事情终于搞定。(遇见的玄学问题,有时候不按上述说的添加子模块依赖,也有可能成功,但很难成功一次,原因不知。。)

 

这篇关于多模块中部分模块的配置文件 类加载器加载不到的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139917

相关文章

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos