0.前言
三種需求情況[場景]以及解決辦法
- 1。不知道爲什麼配置文件[xml\yml\properties]不生效。[可能是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文件重新導入一下項目。
- 輸出路徑