我已经使用 log4j 有一段时间了,我通常在 log4j.xml 的顶部使用它(可能就像许多其他人一样,根据 Google 的说法,这是the方法):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
显然这是可行的,但是 Eclipse 不提供用于编写 XML 等内容的上下文相关帮助。此外,它总是显示一个警告,指出它没有找到log4j.dtd
。现在我很好奇如何解决这个问题。
我尝试了一些方法,这些方法有效:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
正如您从上面看到的,我们使用的是 Maven。因此,我尝试了这个,但失败了:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
Eclipse 通常知道如何处理类路径变量,但是为什么这不起作用呢?我知道该引用在运行时不起作用,但简单的也不起作用log4j.dtd
(如果我没记错的话),所以这不应该是一个问题。
谁能解释一下吗?
我知道这个问题已经得到解答,但我想提供略有不同的替代方案:
<!DOCTYPE log4j:configuration PUBLIC
"-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
它类似于@FrVaBe 的回应 https://stackoverflow.com/a/5001223/31506,但从好的方面来说,不需要任何进一步的 Eclipse 配置(即,如果您与其他人共享您的项目,或者拥有一个大型团队,则无需担心)。
但不利的一面是,我认为这意味着您需要互联网连接(至少在开发过程中的某个时刻,即使只是一次)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)