完美解决maven项目配置文件不生效、更新问题
0.前言
三种需求情况[场景]以及解决办法
-
1。不知道为什么配置文件[xmlymlproperties]不生效。[可能是java路径也可能是resource路径] 2。Maven项目配置文件 不实时更新 3。非resource路径下的配置文件不生效
1.把Maven打包方式换成打jar包
pom.xml修改打包方式 <groupId>com.biturd</groupId> <artifactId>logStudy</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> 改为 <groupId>com.biturd</groupId> <artifactId>logStudy</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> [好像不加<packaging>标签默认就是jar,我手贱了mmp]
1.1. 打包方式是pom时
<packaging>pom</packaging>
1.2.打包方式换成jar包。
<packaging>jar</packaging>
花了 我 一早上。。卧草。。罪魁祸首 恶心
原因: pom打包方式时 只是在就是本地maven仓库加入这个依赖了,别的模块引用的时候没问题。jar打包是target里面啥都有,同时生成jar包,同时maven仓库生成这个依赖。
2. maven项目build的原理及配置文件不能实时更新的问题
因为maven打包 原理是将java路径下的编译[build],将resources下的直接复制过去。 所以这也会出现,你更新了配置文件而项目中没有用上的问题。[解决方法就只有重新编译了,或者你直接改target目录下的资源文件也行] [这估计是所有接触maven的小伙伴一开始都会遇到的问题 ]
3. 如何让java路径的配置文件生效 [引入除了resource目录下的其他配置文件]
<build> <resources> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> <!-- **是所有文件的意思,如果文件来自其他地方可以仿照这个配置 --> </excludes> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
4。 idea中可能导致配置文件不生效或者target的路径变化的原因总结
-
idea会将maven pom的信息本地化为这个项目的信息保存在 .idea中。
这个刷新也能同步idea与maven的配置。[reimport]
如果还不能解决你的问题并且你还怀疑是这方面原因可以删除 .idea和.iml文件重新导入一下项目。
-
输出路径
下一篇:
JAVA一个接口多个实现逐个调用