我已经使用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
(如果我没记错的话)也不会起作用,因此这应该不是问题。
谁能说明一下吗?