2016-12-09 2 views
0

Obtention de l'erreur ci-dessous lors de l'accès au service Web. Essayé d'appliquer le fichier common-logging.jar mais le problème a été résolu.Aucune implémentation définie pour org.apache.commons.logging.LogFactory lors de l'accès au service Web de l'axe

org.apache.commons.discovery.DiscoveryException: Pas de mise en œuvre définie pour org.apache.commons.logging.LogFactory tout en accédant à l'axe webservice

accéder au même service avec la méthode principale d'un projet de test qui comprend jaxrpc, mail.jar, wsdl4.jar, communes découverte-0.2.jar, commons-logging-api -... comme indiqué ci-dessous

mais le même service donne le problème ci-dessous qui contient le jar list..a ajouté commons-discovery-0.4 ainsi que 0.2

enter image description here

+0

tryied ajoutant commons-logging à Buildpath mais force travaillé – javalearner

+0

Supprimer les doublons de fichiers jar commons-httpclient et commons-découverte et d'autres si vous avez. – SachinSarawgi

+0

utilisez-vous maven pour la gestion des dépendances? – SachinSarawgi

Répondre

0

Vous n'avez pas d'onglet dépendance-hiérarchie dans votre IDE. Donc, pour le contrôle de l'arbre des dépendances Installer Maven comme mentionné ci-dessous:

Télécharger bin Maven fichier compressé

Décompressez et coller dans le dossier Program Files

Modifier chemin variable d'environnement (ajouter l'emplacement maven dossier bin dans le chemin)

Aller au projet répertoire

Exécuter commande suivante: mvn dependency:tree -Doutput=output.txt

Cela générera l'arborescence de dépendance maven.

Vérifiez maintenant que toutes les dépendances de votre fichier pom.xml sont affichées plusieurs fois (utilisez Ctrl + F) ou faites-le manuellement. Maintenant, supprimez la dépendance qui en montre plus deux fois en utilisant <exclusions> tag (vous avez déjà expliqué pour axis2-kernel, même comme ça).

Maintenant ajouter séparément commons-loging dépendance Maven:

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.0.3</version> 
</dependency> 

Ce processus va supprimer la dépendance en double et de supprimer votre problème de cadre commons-logging.

En cas de problème, faites un commentaire.

+0

son Sachin non résolu – javalearner

1

problème est résolu en ajoutant au-dessous de commons-logger.properties et ajouté le fichier à classpath

org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger org .apache.commons.logging.LogFactory = org.apache.commons.logging.impl.LogFactoryImpl

0

Dans le cas où cela aiderait quelqu'un ayant des difficultés avec cette exception sur un test d'unité JUnit, ce qui suit n'a pas fonctionné pour moi.

@BeforeClass 
public static void beforeClass() { 
System.setProperty("org.apache.commons.logging.LogFactory", 
"org.apache.commons.logging.impl.LogFactoryImpl"); 
System.setProperty("org.apache.commons.logging.Log", 
"org.apache.commons.logging.impl.Log4JLogger"); 
} 

Ce qui a fonctionné était de remplacer la première déclaration par la suivante.

System.setProperty(LogFactory.FACTORY_PROPERTY, LogFactory.FACTORY_DEFAULT);