当我尝试运行我的应用程序(在eclipse中)抱怨log4j.dtd时,我遇到异常.如果我使用log4j的xml配置,我的意思是有一个dtd文件吗?
Caused by: java.io.FileNotFoundException:
C:\data\workspace\LDICommon_Trunk\resources\log4j.dtd (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
Run Code Online (Sandbox Code Playgroud)
lim*_*imc 23
如果您使用的是基于XML的log4j,那么是的,您将需要DTD文件.将此DTD文件复制到您的工作区:http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd
确保它与log4j XML文件位于同一目录中.
如果您使用 XML 文件作为 log4j 配置文件,请查看 DOCTYPE 标签,您会发现如下内容:
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Run Code Online (Sandbox Code Playgroud)
所以你需要那个 DTD 文件,因为它是你的 XML 结构的定义。
无论如何,您可以使用属性文件作为配置文件,而不是 XML。
编辑:我刚刚发现了一个可以帮助您的相关问题:Eclipse: Referencing log4j.dtd in log4j.xml
好的,我得到了问题的答案,事实证明 log4j 不需要 dtd 文件位于您的项目或计算机中。
该错误是由 eclipse 在我启动运行时尝试运行 log4j.xml 文件引起的。以前 Eclipse 用于运行最后一次运行配置,现在它尝试运行编辑器中打开且聚焦的任何内容。碰巧我的 log4j.xml 配置文件已打开,并且 Eclipse 用于运行 xml 文件的任何内容都试图根据配置文件获取 dtd。
不管怎样,非常感谢你的帮助。
归档时间: |
|
查看次数: |
32707 次 |
最近记录: |