2017-06-19 2 views
0

Nous avons un projet contient ejbModule, il y a un fichier log4j.xml situé dans ejbModule META-INF dossier comme ci-dessouslog4j.xml log4j.dtd de fichier référencé contient des erreurs

enter image description here

Sur ce fichier log4j.xml, avec le démarrage initial un fichier référencé à partir dtd serveur Apache, le format comme ci-dessous

enter image description here

Habituellement, cette section de référence fonctionne très bien, mais depuis hier il a soudainement COU ld ne compile pas et ne peut pas déployer le fichier ear ejbModule sur le middleware weblogic.

erreur Affichage comme ci-dessous

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 

enter image description here

Et puis je visite l'emplacement du fichier référencé depuis l'URL donnée comme http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd observeront question comme

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?, 
^ 

enter image description here

Mises à jour:

Même format modifié à la suite pas en mesure de résoudre le problème

<?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"> 
] 
> 

enter image description here

J'ai vérifié les liens que Eclipse: Referencing log4j.dtd in log4j.xml, en fait, nous utilisons la même façon de se référer log4j.dtd fichier dans sa question (qui a déclaré comme partie réussie, avant la partie maven échoué)

J'ai deux questio ns:

(1) Ce problème se produit-il du côté d'Apache (pas à cause du codage ou des paramètres locaux)?

(2) Y at-il un moyen de résoudre le problème? Fixer localement?

Merci pour votre idée.

Répondre

0

fin, ressemble à ce problème causé par cassé du fichier log4j.dtd sur le service Apache, je télécharger le fichier source de log4j.dtd de cette link, et le mettre dans le même dossier de META-INF comme ci-dessous: enter image description here

Reportez-vous à log4j.xml en tant que chemin relatif

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

Ensuite, nettoyer et compiler le ejbModule, le problème est parti et capable de se déployer sur le middleware weblogic.

0

utilisez le code suivant: -

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

merci, mais même changé au code donné ici, pas en mesure de réparer, déjà mettre à jour la question pour le notifier. – Lampard