完美解決maven項目配置文件不生效、更新問題

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>

image-20200406134838487

1.2.打包方式換成jar包。

  <packaging>jar</packaging>

花了 我 一早上。。臥草。。罪魁禍首 噁心

image-20200406134526619

原因: pom打包方式時 只是在就是本地maven倉庫加入這個依賴了,別的模塊引用的時候沒問題。jar打包是target裏面啥都有,同時生成jar包,同時maven倉庫生成這個依賴。

image-20200406135114060

2. maven項目build的原理及配置文件不能實時更新的問題

因爲maven打包 原理是將java路徑下的編譯[build],將resources下直接複製過去。

所以這也會出現,你更新了配置文件而項目中沒有用上的問題。[解決方法就只有重新編譯了,或者你直接改target目錄下的資源文件也行] [這估計是所有接觸maven的小夥伴一開始都會遇到的問題 ]

3. 如何讓java路徑的配置文件生效 [引入除了resource目錄下的其他配置文件]

image-20200406140646892

<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中。

image-20200406144726224

image-20200406145329647

這個刷新也能同步idea與maven的配置。[reimport]

如果還不能解決你的問題並且你還懷疑是這方面原因可以刪除 .idea和.iml文件重新導入一下項目。

  • 輸出路徑

image-20200406145112702

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章