Java log4j.xml引用文件log4j.dtd包含错误

Java log4j.xml引用文件log4j.dtd包含错误,java,xml,apache,logging,log4j,Java,Xml,Apache,Logging,Log4j,我们有一个包含ejbModule的项目,在ejbModule META-INF文件夹中有一个log4j.xml文件,如下所示 Description Resource Path Location Type Referenced file contains errors (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd). For more information, righ

我们有一个包含ejbModule的项目,在
ejbModule META-INF
文件夹中有一个
log4j.xml
文件,如下所示

Description Resource Path Location Type
Referenced file contains errors (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd).  For more information, right click on the message in the Problems View and select "Show Details..." log4j.xml   /TEST_EJB/ejbModule line 1  XML Problem

在这个log4j.xml文件中,首先从Apache服务器中引用的dtd文件开始,格式如下

通常,此参考部分工作正常,但从昨天开始,它突然无法使用编译,也无法将
ejbModule
ear文件部署到weblogic中间件上

显示错误如下

Description Resource Path Location Type
Referenced file contains errors (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd).  For more information, right click on the message in the Problems View and select "Show Details..." log4j.xml   /TEST_EJB/ejbModule line 1  XML Problem

然后我从给定的url访问引用的文件位置,如下所示 将按以下方式观察问题:

XML Parsing Error: syntax error
Location: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd
Line Number 27, Column 1:<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
^
XML解析错误:语法错误
地点:http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd
第27行第1列:

更新:

即使将格式更改为以下格式,也无法解决此问题

<?xml version="1.0" encoding="UTF-8"?>
<!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"
[
    <!-- Directory to write the log files to -->
    <!ENTITY logDir "C:/.../logs">
]
>

使用以下代码:-

<!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">

很好,看起来这个问题是由Apache服务上的
log4j.dtd
文件损坏引起的,我从这里下载了
log4j.dtd
的源文件,并将其放在
META-INF
的同一文件夹中,如下所示:

log4j.xml
中将其作为相对路径引用

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM 
"log4j.dtd"
[
    <!-- Directory to write the log files to -->
    <!ENTITY logDir "C:/.../logs">
]
>


谢谢,但即使更改了此处给出的代码,也无法修复,已更新问题以通知此。