J'exécute un simple programme d'injection de dépendances de Spring et je reçois cette exception. J'ai déjà inclus le fichier common-logging1.1.1.jar et spring.jar. Pouvez-vous m'aider ?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)
at com.client.StoryReader.main(StoryReader.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 6 more
2 votes
Tout d'abord, vérifiez que votre classpath est bien correct. Ensuite, essayez d'ouvrir le jar et vérifiez qu'il contient bien la classe org.apache.commons.logging.LogFactory. Enfin, essayez de déboguer en plaçant un point d'arrêt dans le chargeur de classe.
2 votes
Toutes les réponses ci-dessous suggèrent
commons-logging
est un pas en arrière. Utilisezjcl-over-slf4j
à la place.0 votes
Sous Android, ajoutez testCompile 'commons-logging:commons-logging:1.1.1' à app.gradle.