2010-11-23 2 views
2

Ce problème semble être assez commun, mais jusqu'à présent, je n'ai pas trouvé une seule solution utile.Ascenseur Problème: Rencontrer des erreurs Log4J sur Jetty: Exécuter

J'ai créé un projet en utilisant l'archétype blanc net.liftweb, version 2.2-M1, avec maven 2. J'ai juste ajouté une dépendance, pour la base de données H2, puis ajouté quelques modèles et un DBVendor, comme dans l'archétype de base. Mais je reçois seulement une exception comme java.lang.NoClassDefFoundError: org/apache/log4j/LogManager.

Maintenant, l'enregistreur n'est pas essentiel pour l'ensemble du programme, peu quand il s'agit de problèmes ultérieurs avec le mappeur, je pense que j'ai besoin des journaux pour le débogage. J'ai fait un complet mvn clean et a également supprimé mon dossier .m2, mais le problème persiste.

Sinon, chaque fois que cette erreur n'apparaît pas, j'en reçois une autre, à propos d'une classe manquant aend, donc l'enregistreur ayant recours à NOP. Je suis allé jusqu'à croire qu'il y avait quelque chose qui ne va pas avec mon pom.xml, mais j'ai maintenant essayé plusieurs variantes avec les fichiers log4j, ce qui n'a mené à aucune amélioration. J'espère vraiment que vous pouvez m'aider ici, Lift a été jusqu'à présent une série d'erreurs non documentées pour moi, bien au-delà du point où un peu d'apprentissage amusant s'est transformé en un défi personnel.

Répondre

2

Résolu. Je mets la solution ici pour que d'autres la trouvent:

Nulle part dans le wiki il est dit que Log.infoF est déprécié et résultera dans cette erreur. La solution est assez simple, il suffit de remplacer avec Schemifier.infoF _, la ligne doit ressembler à ceci:

Schemifier.schemify(true, Schemifier.infoF _, User) 

Cela fonctionne bien.

Questions connexes