2012-01-27 26 views
28

Tôi cố gắng để chạy GWT RequestFactory và phải đối mặt với lỗi này:ClassNotFoundException: org.slf4j.LoggerFactory

ClassNotFoundException: org.slf4j.LoggerFactory 

Tôi đã cố gắng để tải về slf4j-api-1.3.1.jar nhưng nó didnt giải quyết issue

Bất kỳ ý tưởng chính xác mà tôi cần tải xuống?

+0

http://www.slf4j.org/manual.html –

+0

cố gắng trích xuất bình và xem nó có chứa \ org \ slf4j \ LoggerFactory hay không. –

+0

Bạn không cần phải chỉ cần tải về các jar, bạn cũng phải đặt nó trong classpath của bạn khi biên dịch và chạy mã của bạn. Bạn đã làm điểu đó? – Jesper

Trả lời

10

thử tải jar từ here

Bạn có thể tìm thấy, nó giữ các lớp học mà bạn cần.

+0

Cảm ơn, lỗi đã biến mất, giờ nó nói NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder Bất kỳ ý tưởng nào – junaidp

+0

lấy từ đây http://www.java2s.com/Code/Jar/STUVWXYZ/Downloadslf4jlog4j12156jar.htm – gprathour

+0

java.lang.IllegalAccessError: cố gắng truy cập org.slf4j.impl.StaticLoggerBinder.SINGLETON trường từ lớp org.slf4j.LoggerFactory – junaidp

57

Tốt hơn để luôn tải về như lần thử đầu tiên của bạn, phiên bản mới nhất từ ​​nhà phát triển site

tôi đã được thông báo lỗi tương tự như bạn có, và bằng cách tải về jar từ trên (slf4j-1.7.2.tar gz phiên bản mới nhất tính đến 2012OCT13), untarring, giải nén, thêm 2 lọ để xây dựng đường dẫn trong nhật thực (hoặc thêm vào classpath phù COMAND):

  1. slf4j-api-1.7.2.jar
  2. slf4j-simple-1.7.2.jar

Tôi đã có thể chạy chương trình của mình.

+4

Điều này sẽ là câu trả lời tốt hơn, hoàn toàn hoạt động! Cảm ơn bạn đời – GuilhE

+3

nó đã làm việc nhờ câu trả lời! –

+0

cảm ơn điều đó phù hợp với tôi :) – user881703

0

Cần "slf4j-simple-1.7.2.jar" để giải quyết sự cố.

Tôi đã tải xuống tệp zip "slf4j-1.7.2.zip" từ http://slf4j.org/download.html. Tôi đã bung file zip và tôi đã nhận slf4j-đơn giản-1.7.2.jar

+1

Bạn cũng có thể tải xuống "slf4j-1.7.2.tar.gz" từ cùng một URL được đề cập trong câu trả lời ở trên –

1

Bạn sẽ cần phải tải về lọ SLF4J từ the official site như hoặc là một zip (v1.7.4) hay tar.gz (v1.7.4)

Các tải chứa nhiều lọ dựa vào cách bạn muốn sử dụng SLF4J. Nếu bạn chỉ đơn giản là cố gắng giải quyết yêu cầu của một số thư viện khác (GWT, tôi giả định) và không thực sự quan tâm đến việc sử dụng SLF4J một cách chính xác, thì có lẽ tôi sẽ chọn slf4j-api-1.7.4.jar từ jar Đơn giản được đề xuất bởi một câu trả lời khác không chứa, theo hiểu biết của tôi, lớp học cụ thể mà bạn đang tìm kiếm.

0

Tôi có cùng trên Android. Đây là cách tôi cố định nó:

bao gồm CHỈ file:

slf4j-api-1.7.6.jar

trong libs của tôi/thư mục

Có thêm bất kỳ tập tin slf4j *, gây ra NoClassDefFoundError.

Rõ ràng, phần còn lại của libs có thể có mặt ở đó (android-support-v4, vv)

phiên bản: Eclipse Kepler 2013 14 Tháng sáu - 29 tháng 2 ADT 22,3 Android SDK: 4.4.2

Hy vọng ai đó tiết kiệm thời gian tôi lãng phí nhờ điều này!

0

Để được giải thích thêm một chút: hãy nhớ rằng giao diện "I" trong "api" là giao diện. Các slf4j-api jar chỉ giữ các giao diện cần thiết (thực sự LoggerFactory là một lớp trừu tượng). Bạn cũng cần triển khai thực tế (ví dụ, như đã nói ở trên, có thể được tìm thấy trong slf4j-simple). Nếu bạn nhìn vào bình, bạn sẽ tìm thấy các lớp bắt buộc trong gói "org.slf4j. impl".

3

tôi biết đây là một câu hỏi cũ, nhưng tôi đã gặp vấn đề này gần đây và tôi đã tìm kiếm nó trong google và tôi đã xem tài liệu này here từ trang web slf4j.

vì nó mô tả như sau:

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path.

Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

SINCE 1.6.0As of SLF4J version 1.6, in the absence of a binding, SLF4J will default to a no-operation (NOP) logger implementation.

Hy vọng rằng sẽ giúp một ai đó.

1

Tôi cũng gặp sự cố này và tôi đã khắc phục sự cố theo cách này. Tôi đã cố gắng để chạy công việc MapReduce tại địa phương thông qua Eclipse, sau khi thiết lập cấu hình, tôi đã gặp lỗi này (trong Linux, Virtual Box) Để giải quyết nó,

  • nhấp chuột phải vào dự án bạn muốn chạy,
  • đi "Properties" -> "Java Build Path" -> "Thêm Chum bên ngoài",
  • sau đó đi đến file:/usr/lib/Hadoop/client-0.20, chọn ba lọ tên bắt đầu bởi "slf4j".

Sau đó, bạn sẽ có thể chạy công việc cục bộ. Hy vọng trải nghiệm của tôi sẽ giúp một người nào đó.

Các vấn đề liên quan