2012-03-30 58 views
1

當我第一次開發我的Java應用程序時,我最終將config.properties和log4j.xml文件放在'src'目錄中。這在Eclipse中正常運行,但現在我正試圖部署到Linux服務器。將Eclipse中的config.properties和log4j.xml放在哪裏

當我部署時,我拿出導出的應用程序jar文件並將其分解,但它當然沒有'src'目錄。

當我將兩個配置文件移回到應用程序的根目錄時,log4j抱怨它找不到log4j.xml文件。

我試圖設置運行/調試類路徑,如在幾篇文章中所述,但類路徑選項卡已經顯示在那裏顯示應用程序的主目錄。

我需要的是瞭解我應該如何在Eclipse中佈置這兩個配置文件,以便在導出到部署的jar文件時它們仍然可見。

感謝,

米奇

+0

如果你從Eclipse創建了你的Java應用程序,那麼你放置在「src」文件夾中的文件應該被導出到jar文件中。檢查你的項目配置文件,這是一個名爲「Build」的標籤,你可以在其中選擇哪些文件包含在你的jar中,哪些不是。 – 2012-03-30 12:53:16

+0

確實文件被放置在jar文件中,但是我的Spring applicationContext.xml文件在'src/log4j.xml'中有log4j.xml文件。顯然,當我在另一臺機器上部署時,'src'文件不會被複制。 所以我真正的問題是要確保代碼,無論是我的還是Spring,在Eclipse和Linux上的工作方式與在config.properties文件和log4j.xml中查找的位置相同。 如何設置applicationContext.xml中log4jInitialization條目的「arguments」列表,以便它在應用程序的基本目錄中查找log4j.xml? – mitchmcc 2012-03-30 13:44:57

+0

好的,我添加了一個答案,可以幫助您找到配置log4j.xml文件位置的方式。 – 2012-03-30 15:01:26

回答

0

如果你已經把你的log4j.xmllog4j.properties文件在你的文件夾src那麼它應該工作正常導出的jar文件也是如此。你可以看看這個類似的post

0

也許在你的applicationContext.xml中配置它爲「classpath:log4j.xml」就足夠了,或者,如果它不是你真正想要的,我建議你看看如何使用方法設置它一個Log4jDirectConfigurer

1

您必須添加一行。

Log4jConfigurer.initLogging("SpringTest/src/log4JTest/log4j.xml"); 

通知log4j的,從這裏應該選擇所有自定義信息。

2

把日誌4j.xml放在eclipse中的src/main/resources中。它應該工作。

相關問題