Java log4j.xml引用文件log4j.dtd包含错误
我们有一个包含ejbModule的项目,在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 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">
]
>
谢谢,但即使更改了此处给出的代码,也无法修复,已更新问题以通知此。