【发布时间】:2017-11-21 22:47:28
【问题描述】:
我们有一个包含 ejbModule 的项目,在ejbModule META-INF 文件夹中有一个log4j.xml 文件,如下所示
在这个 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 访问引用的文件位置 http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd 将观察问题为
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 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">
]
>
我已经检查了Eclipse: Referencing log4j.dtd in log4j.xml 的链接,实际上我们使用相同的方式在他的问题中引用log4j.dtd 文件(在失败的maven 部分之前声明为成功部分)
我有两个问题:
(1) 这个问题是否发生在 Apache 端(不是因为编码或本地设置)?
(2) 有什么办法可以解决这个问题吗?本地修复?
感谢您提供任何想法。
【问题讨论】:
标签: java xml apache logging log4j