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

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

相关文章

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

spring6+JDK17实现SSM起步配置文件

《spring6+JDK17实现SSM起步配置文件》本文介绍了使用Spring6和JDK17配置SSM(Spring+SpringMVC+MyBatis)框架,文中通过示例代码介绍的非常详细,对大家的... 目录1.配置POM文件2.在resource目录下新建beans.XML文件,用于配置spirng3

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

MySQL8.0找不到my.ini如何解决

《MySQL8.0找不到my.ini如何解决》在配置MySQL主从复制时,发现找不到my.ini配置文件,通过检查路径和打开隐藏文件夹,最终在C:ProgramDataMySQLMySQLSer... 目录问题描述解决方法总结问题描述今天在配置mysql主从复制的时候发现,找不到my.ini这个配置文件。