Realizuję prosty program wiosna wtrysku zależności i otrzymuję ten wyjątek. Dołączyłem już plik common-logging1.1.1.jar i spring.jar. Czy możesz mi pomóc?
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
java
noclassdeffounderror
skaffman
źródło
źródło
commons-logging
krok wstecz. Użyjjcl-over-slf4j
zamiast tego.Odpowiedzi:
Napotkałem również te same problemy, aby naprawić, pobrać pliki jar z poniższego adresu URL
http://commons.apache.org/logging/download_logging.cgi
i skopiuj do folderu lib, rozwiąże twój problem.
źródło
Jeśli używasz maven do zarządzania zależnościami, dodaj następujący wiersz w pliku pom.xml:
źródło
Wystarczy pobrać plik commons-logging-1.1.2.jar, a następnie skopiować ten plik do libs
wreszcie działa.
źródło
commons-loging-1.1.1.jar lub jcl-over-slf4j-1.7.6.jar al
Jeśli używasz maven, użyj poniższego kodu.
źródło
Miałem ten sam problem i rozwiązałem go, dodając
commons-logging.jar
ścieżkę klasy.źródło
Dodanie pliku commons-logowanie.jar lub commons-logowanie-1.1.jar rozwiąże ten ...
źródło
Czy na pewno poprawnie wpisałeś nazwę pliku JAR? Myślę, że tak powinno być
commons-logging-1.1.1.jar
(zwróć uwagę na dodatkowe-
w nazwie). Sprawdź także, czy nazwa katalogu jest poprawna.NoClassDefFoundError
zawsze oznacza, że nie można znaleźć klasy, więc najprawdopodobniej twoja ścieżka do klasy jest nieprawidłowa.źródło
NoClassDefFoundError
mogą być również spowodowane innymi przypadkami narożnymi, na przykład, gdy inicjatory klas zawodzą w mało znanych okolicznościach.commons-logging-1.1.1.jar
Ustawienie zakresu do kompilacji zrobiło to dla mnie
źródło
Spróbuj całkowicie wyczyścić katalog docelowy / wdrażania dla aplikacji, aby pozbyć się wszelkich starych bibliotek plików. Utwórz nową wersję i sprawdź, czy plik commons-logowanie.jar faktycznie znajduje się w odpowiednim folderze lib. Może nie zostać uwzględniony podczas tworzenia biblioteki dla aplikacji.
źródło
Problem rozwiązany przez dodanie pliku commons-logging.jar
Pliki Imp to
źródło
Dwie opcje (przynajmniej):
Uwaga: połączenie słoika może prowadzić do problemów z serwerem i być może przyczyną, dla której dodano go do ścieżki kompilacji, ale nie rozwiązało problemu z uruchomieniem serwera.
Więc nie kieruj słoika na folder zewnętrzny.
LUB...
Jeśli używasz instancji serwera tc, musisz dodać jar jako zewnętrzny jar do konfiguracji uruchamiania instancji serwera.
idź, aby uruchomić jako, uruchom konfiguracje ..., {instancja serwera tc}, a następnie kartę Ścieżka klasy.
Następnie dodaj słoik do logowania.
źródło
Mam takie same kłopoty jak ty. W końcu sprawdziłem wersję apache posiadającą klasę. Odkryłem, że wersja 1.0.4 ma klasę.
Spróbuj użyć wersji 1.0.4 zamiast 1.1.X lub 1.2.X
Moje zależności:
Mój kod Java
Mój wynik:
Dokładnie sprawdź, czy twoje zależności od maven są dobrze zaimportowane.
źródło
http://commons.apache.org/logging/download_logging.cgi
użyj tego adresu URL, aby pobrać pliki jar i dołączyć je do ścieżki klasy, problem zostanie rozwiązany
źródło
Tylko sprawdź, czy plik commons-logowanie.jar został dodany do twoich bibliotek i ścieżki klas. Miałem ten sam problem i to z tego powodu. dhammiki
źródło
Zazwyczaj przypisuję ścieżkę klasy do zmiennej, a następnie ją weryfikuję. Napisałem mały skrypt ruby, który włączam w skrypty startowe, które sprawdzają ścieżkę klasy przed uruchomieniem java . Sprawdzanie ścieżki klasy przed uruchomieniem JVM pozwoliło mi zaoszczędzić mnóstwo czasu na rozwiązywanie problemów tego typu.
źródło
Hej, śledziłem samouczek na tutorialpoint.com. Dodaj po zakończeniu Krok 2 - Zainstaluj interfejs API Apache Common Logging: Musisz zaimportować zewnętrzne biblioteki jar do projektu z plików pobranych w tym kroku. Dla mnie nazwa pliku to „ commons-logging-1.1.1 ”.
źródło
Jeśli używasz tego na Androidzie, zauważ, że
java.beans
pakiet najwyraźniej nie jest kompletny na Androidzie. Aby spróbować naprawić to na Androidzie, wykonaj następujące czynności:import ***
zdania na „most powietrzny”. Np.import javadz.beanutils.BeanUtils
Zamiastimport org.apache.commons.beanutils.BeanUtils;
źródło 1 , źródło 2
Przepraszam, ponieważ zdaję sobie sprawę, że to nie jest dokładnie odpowiedź na pytanie, chociaż ta strona SO pojawia się często podczas wyszukiwania
NoClassDefFoundError: Failed resolution of: beanUtils
błędów generowanych przez Androida .źródło
Otrzymywałem ten sam błąd, gdy słoik był obecny. Żadne rozwiązanie nie działało. Udało się usunąć słoik z systemu plików (z katalogu .m2), a następnie wyczyścić projekt maven.
źródło
Mam ten sam problem w środowisku IDE Eclipse, moje rozwiązanie brzmiało: Kliknij prawym przyciskiem myszy Mój projekt> Właściwości
Kliknij w Maven i napisz: jar w projekcie Active Maven
Na koniec zastosuj i zamknij
źródło
W moim przypadku testowałem aplikację Tomcat w środowisku Eclipse i otrzymałem ten błąd. Rozwiązałem go, sprawdzając
.classpath
plik i poprawiłem ten wpis:Brak atrybutu
org.eclipse.jst.component.dependency
.źródło
Sprawdź, czy słoiki są poprawnie importowane. Zaimportowałem je przy użyciu ścieżki kompilacji. Ale nie rozpoznał słoika w folderze WAR / lib. Później skopiowałem ten sam słoik do folderu war / lib . Teraz działa dobrze. Możesz odświeżyć / wyczyścić swój projekt.
źródło
Witajcie przyjaciele, jeśli w kodzie hibernacji pojawia się wyjątek, który nie został znaleziony przez klasę, to jest to problem z plikami jar. Są to głównie dwa problemy 1. Chcę
powiedzieć, że twoja stara wersja hibernacji może mieć numer 3.2 poniżej. działa w porządku
2. pierwsze połączenie z bazą danych Checkes. Jeśli baza danych działa poprawnie, to był błąd w twoim programie lub pliku jar.
proszę sprawdzić te dwa problemy, jeśli również nie działa, próbowałeś IDE. Korzystam z wersji Netbeanside 6.9. Hibernacja działa dobrze. Nie pojawia się żaden błąd z klasy, a nie wyjątek ..
Mam nadzieję, że to pomaga więcej
źródło
Rozwiązaniem jest dodanie pliku jar common-logging.xx
źródło
spróbuj dodać tę zależność org.apache.commons commons-exec 1.3
źródło
Jeśli wszystko inne zawiedzie, tak jak u mnie, spróbuj umieścić commons-logowanie-xyzjar w katalogu lib Tomcat. To rozwiązało problem! BTW, używam Tomcat 6.
źródło