2011-03-19 45 views
4

我在J2SE下使用log4j。我已經將其配置爲使用郵件某種類型的日誌事件。當logger.error觸發我得到以下異常:Log4j電子郵件錯誤「Can not find java.home ??」

java.lang.Error: Can't find java.home ?? 
at sun.net.NetProperties.loadDefaultProperties(NetProperties.java:45) 
... 
at org.apache.log4j.net.SMTPAppender.sendBuffer(SMTPAppender.java:416) 

人遇到此之前?我還包含了所需的mail.jar庫。

任何幫助表示讚賞。 謝謝, 克里斯

回答

5

我看了NetProperties的源代碼和錯誤基本上意味着它說什麼。名爲「java.home」的系統屬性未設置。根據System.getProperties()的javadoc,該屬性由JVM自動設置爲java安裝目錄。

我能想到的唯一解釋是應用程序或某些第三方庫中的某些內容正在顯式取消設置該屬性。這顯然是一件壞事...

+0

是的,我不小心擦拭System.properties,導致問題。 – 2011-03-24 00:38:36