溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

maven打包資源文件需要注意的問題有哪些

發(fā)布時(shí)間:2021-10-20 17:34:39 來源:億速云 閱讀:119 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)maven打包資源文件需要注意的問題有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

初衷

我寫這篇博客的目的是想讓大家了解一些 maven 項(xiàng)目的結(jié)構(gòu)以及打包后是什么樣子的,方便大家在實(shí)際項(xiàng)目中去排查問題。比如:我明明在 src/main/java 下把 mybatis 的 xml 寫上了,為什么項(xiàng)目報(bào)錯(cuò)讀不到呢?我配置了多種環(huán)境的配置文件,真正運(yùn)行時(shí)只會選擇一個(gè),所以不想把 src/main/resources 下的所以文件都打包到 target/classes 下,那該怎么辦?

maven 的標(biāo)準(zhǔn)的目錄結(jié)構(gòu)

構(gòu)建Maven項(xiàng)目的時(shí)候,如果沒有進(jìn)行特殊的配置,Maven會按照標(biāo)準(zhǔn)的目錄結(jié)構(gòu)查找和處理各種類型文件。 標(biāo)準(zhǔn)的目錄結(jié)構(gòu)如下: maven打包資源文件需要注意的問題有哪些

maven打包資源文件需要注意的問題有哪些

maven 資源的相關(guān)配置

src/main/java和src/test/java

這兩個(gè)目錄中的所有 .java 文件會分別在 comile 和 test-comiple 階段被編譯,編譯結(jié)果分別放到了target/classes 和 targe/test-classes 目錄中,但是這兩個(gè)目錄中的其他文件(比如:.xml 等)都會被忽略掉。

src/main/resouces和src/test/resources

這兩個(gè)目錄中的文件也會分別被復(fù)制到target/classes和target/test-classes目錄中。

target/classes

maven 打包插件默認(rèn)會把這個(gè)目錄中的所有內(nèi)容打入到 jar 包或者 war 包中。

resource

maven resource 需要注意的問題。默認(rèn)情況下 maven 會根據(jù)標(biāo)準(zhǔn)路徑去把對應(yīng)的文件全部復(fù)制到 target 下。如果需要選擇性打包某些文件的話,就需要用到 resource。

下面以我創(chuàng)建的 maven 項(xiàng)目 mavenDemo 為例。

在 mavenDemo 項(xiàng)目的 pom.xml 中加入下面配置,目的是:只將 src/main/resources 下的后綴為 properties、xml 的文件打包到 classes 文件下。效果如圖 1。

使用 maven 的 clean package 命令就可以打包我們的項(xiàng)目到 target 文件下。注意一定要先執(zhí)行 maven 的 clean 命令,后執(zhí)行 package 命令。 直接使用 package 命令可能會存在緩存,使得我們看不到最新的修改。

<build>
    .......
      <resources>
        <resource>
            <directory>src/main/resources</directory>
            <!-- 設(shè)置需要打包的文件,可以使用正則表達(dá)式 -->
            <includes>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
            </includes>
            <!-- 開啟資源打包過濾 -->
            <filtering>true</filtering>
        </resource>
      </resources>
    ......
</build>

我們可以看到項(xiàng)目打包后,src/main/resources 下的 .sql 文件就被過濾掉了,只留下了 .yml、.xml 的配置文件。

 maven打包資源文件需要注意的問題有哪些

看完上述內(nèi)容,你們對maven打包資源文件需要注意的問題有哪些有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI