我使用 log4j 已经有一段时间了,我通常在 log4j.xml 的顶部使用这个命令(可能就像其他许多命令一样,根据 Google 的说法,这是 的的方法) :
<!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
也不会起作用(如果我没有猜错的话) ,所以这应该不是问题。
有人能解释一下吗?