如果我運行mvn clean package,我發現這個文件沒有被複制到目標文件夾中的war文件中。
則映射文件可能不是在默認的資源目錄(src/main/resources
),但在源目錄(src/main/java
)和Maven默認情況下不會將它們複製到構建輸出目錄。
但是,如果我只做mvn clean,然後轉到eclipse並從Project菜單中選擇Clean,則文件將發送到目標中的相應位置。然後我可以使用mvn包來成功打包可訪問數據庫的war文件。
在Eclipse下,我的猜測是來自源目錄的文件被複制到構建輸出目錄,包括應用程序資源文件。因此,在Eclipse清理步驟之後,當您運行package
時,這會以某種方式「欺騙」Maven。但這並不重要,主人是Maven,其他一切都是無關緊要的。
要修復它,請將您的映射文件移動到src/main/resources
。或者讓他們在src/main/java
並聲明源目錄作爲「額外」的資源目錄:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
有人做到這一點,我更喜歡使用獨立的目錄。
你確定你的xml文件在資源文件夾下嗎? – mhshams 2010-08-27 20:38:16