La définition de la propriété 'source' sur 'org.eclipse.jst.jee.server: JSFTut' n'a pas trouvé de propriété correspondante

Réponses:

191

Ce n'est pas une erreur. Ceci est un avertissement . La différence est assez énorme. Cet avertissement particulier signifie essentiellement que l' <Context>élément de Tomcat server.xmlcontient un attribut inconnu sourceet que Tomcat ne sait pas quoi faire avec cet attribut et donc l'ignorera.

Eclipse WTP ajoute un attribut personnalisé sourceà l' <Context>élément lié au projet dans le server.xmlde Tomcat qui identifie la source du contexte (le projet réel dans l'espace de travail qui est déployé sur le serveur particulier). De cette façon, Eclipse peut mettre en corrélation l'application Web déployée avec un projet dans l'espace de travail. Depuis la version 6.0.16 de Tomcat, toutes les balises et attributs XML non spécifiés dans le server.xmlproduiront un avertissement lors du démarrage de Tomcat, même s'il n'y a pas de DTD ni de XSD pour server.xml.

N'y faites pas attention. Votre projet Web va bien. Cela devrait fonctionner correctement. Ce problème n'a aucun rapport avec JSF.

BalusC
la source
5
Vous pouvez l'ajouter à votre logging.properties pour supprimer les avertissements lors de la lecture de votre config: org.apache.tomcat.util.digester.Digester.level = SEVERE
Christian
J'ai remarqué que si vous avez ouvert le fichier server.xml, il n'ajoute pas le contexte. J'ai juste arrêté le serveur et fermé le fichier server.xml puis re-ajouté le projet. Je pensais que je le mentionnerais au cas où quelqu'un d'autre rencontrerait le même problème.
Michael
Ce fil offre en fait une réponse fonctionnelle. Il supprime l'avertissement. :)
argent
(idem pour log4j.properties - 1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38
Pour moi, l'avertissement était le signe d'une erreur - mon projet n'a pas été déployé. Les attributs de contexte dans le server.xml de Tomcat étaient un indice - après avoir supprimé les attributs générés par eclipse et redéploiement d'Eclipse, je suis allé plus loin - maintenant Eclipse m'a montré une bonne vieille fenêtre contextuelle avec la vraie erreur.
Hervian
12

Supprimez le projet du serveur de la vue Serveur. Exécutez ensuite le projet sous le même serveur.

Le problème est comme @BalusC l'a dit corrompu de server.xml de tomcat qui est configuré dans l'éclipse. Ainsi, lorsque vous effectuez le processus ci-dessus, server.xml sera recréé.

arvindwill
la source
3
Mon instance tomcat a démarré assez rapidement un jour (exceptionnellement), et en regardant les journaux, j'ai remarqué le même message que l'affiche ... J'ai essayé de nettoyer et de redémarrer le serveur en vain. La suppression puis l'ajout de nouveau du projet sur le serveur ont aidé comme arvindwill recommandé.
armyofda12mnkeys
4

J'ai pensé ajouter que pour Tomcat 7.x, ce <Context>n'est pas dans le server.xml, mais dans le context.xml. La suppression et la réajout du projet ne semblent pas aider mon problème similaire, qui était un problème web.xml, que j'ai découvert en vérifiant le context.xmlqui avait cette ligne dans la <Context>section:

<WatchedResource>WEB-INF/web.xml</WatchedResource>

La solution dans AVERTISSEMENT: la définition de la propriété 'source' sur 'org.eclipse.jst.jee.server: appname' n'a pas trouvé de propriété correspondante m'a rapproché de ma réponse, car le changement de publication dans un XML séparé a résolu l'erreur signalé ci-dessus pour moi, mais malheureusement, cela a généré une deuxième erreur sur laquelle j'étudie toujours.

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.

Marcus
la source
4

J'ai été confronté à un problème similaire. Étapes pour résoudre ce problème.

  1. Supprimer le projet du serveur
  2. Donner propre et construire pour l'ensemble du projet
  3. Supprimer le serveur
  4. Utilisez Exécuter en tant que pour déployer et exécuter le projet

J'espère que cela fonctionne pour vous aussi.

Siva Kameswara Rao Munipalle
la source
3

En ce qui concerne la définition de la valeur logging.properties

org.apache.tomcat.util.digester.Digester.level = SEVERE

... si vous exécutez un serveur tomcat intégré dans eclipse, le logging.propertiesfichier utilisé par défaut est le JDK par défaut à%JAVA_HOME%/jre/lib/logging.properties

Si vous souhaitez utiliser un autre fichier logging.properties (par exemple dans le confrépertoire du serveur tomcat ), cela doit être défini via la java.util.logging.config.filepropriété système. Par exemple, pour utiliser les propriétés de journalisation définies dans le fichier c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties, ajoutez ceci à la liste d'arguments VM:

-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"

(double-cliquez sur l'icône du serveur, cliquez sur 'Ouvrir la configuration de lancement', sélectionnez l'onglet Arguments, puis saisissez-le dans la zone de texte 'Arguments VM')

Vous pouvez également trouver utile d'ajouter l'argument VM

-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"

ainsi, qui inclura alors le nom de l'enregistreur source dans la sortie, ce qui devrait faciliter la détermination de l'enregistreur à contrôler dans le fichier logging.properties (selon http://docs.oracle.com/javase/7/docs /api/java/util/logging/SimpleFormatter.html )

Greg Knox
la source
1

Mettre à jour vers la dernière version

Depuis cette validation , cela est corrigé dans la version de développement de Tomcat. Et maintenant dans les versions publiées 9.0.13, 8.5.35 et 7.0.92.

De l'9.0.13 changelog :

Ignorez un attribut nommé source sur les éléments de contexte fournis par StandardContext. Il s'agit de supprimer les avertissements générés par l'intégration Eclipse / Tomcat fournie par Eclipse. Basé sur un patch de mdfst13. (markt)

Il y a des entrées similaires dans les changelogs 7.0.92 et 8.5.35 .

Cette modification a pour effet de supprimer un avertissement lorsqu'un sourceattribut est déclaré sur un Contextélément dans server.xml ou context.xml. Puisque ce sont les deux endroits où Eclipse met un tel attribut, cela résout ce problème particulier.

TL; DR : mise à jour vers la dernière version de Tomcat dans sa branche, par exemple 9.0.13 ou plus récent.

mdfst13
la source
0

C'est une solution simple pour cet avertissement:

Vous pouvez modifier la configuration du serveur eclipse tomcat. Ouvrez la vue du serveur, double-cliquez sur votre serveur pour ouvrir la configuration du serveur. Il existe un onglet Option de serveur . à l'intérieur de cet onglet, cliquez sur Case à cocher pour activer " Publier le contenu du module dans des fichiers XML séparés ".

Enfin, redémarrez votre serveur, le message doit disparaître.

MangduYogii
la source
-1

Veuillez vérifier si des fichiers jar manquants, en particulier les fichiers jars, peuvent avoir été pris comme localement, alors mettez-les dans le dossier lib puis créez le fichier WAR

Issac Balaji
la source