我在J2SE下使用log4j。我已将其配置为使用邮件程序处理某种类型的日志事件。当logger.error触发时,我得到以下异常:
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库。
感谢任何帮助。 谢谢, 克里斯
答案 0 :(得分:5)
我查看了NetProperties
的源代码,错误基本上就是它所说的内容。未设置名为“java.home”的System属性。根据{{3}}的javadoc,该属性由JVM自动设置为java安装目录。
我能想到的唯一解释是,您正在使用的应用程序或某些第三方库中的某些内容已明确取消该属性。这显然是一件坏事......