2012-11-17 37 views
10

Tôi cố gắng để thực hiện đoạn mã sau:XUGGLE LỖI: Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

import com.xuggle.mediatool.IMediaReader; 
import com.xuggle.mediatool.IMediaWriter; 
import com.xuggle.mediatool.ToolFactory; 
public class vidcon { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     IMediaReader reader = ToolFactory.makeReader("test.m4v"); 
     IMediaWriter writer = ToolFactory.makeWriter("out.flv"); 

     reader.addListener(writer); 
     while(reader.readPacket() == null) 
      ; 
    } 
} 

Nhưng nó là đem lại cho tôi lỗi này:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
    at com.xuggle.ferry.JNILibrary.<clinit>(JNILibrary.java:42) 
    at com.xuggle.ferry.FerryJNI.<clinit>(FerryJNI.java:14) 
    at com.xuggle.ferry.Ferry.<clinit>(Ferry.java:25) 
    at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19) 
    at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1622) 
    at com.xuggle.mediatool.MediaReader.<init>(MediaReader.java:137) 
    at com.xuggle.mediatool.ToolFactory.makeReader(ToolFactory.java:77) 
    at vidcon.main(vidcon.java:11) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    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) 
    ... 8 more 

Tôi đã thêm SLF4J vào thư viện tham chiếu của mình, nhưng không biết tại sao điều này không hoạt động.

Chạy trên WIN 7, thử trong nhật thực và netbeans

Bất kỳ ý tưởng nào?

+0

Bản sao có thể có của [Gây ra bởi: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory] (https://stackoverflow.com/questions/36377461/caused-by-java-lang-classnotfoundexception-org-slf4j-loggerfactory) – jediz

Trả lời

33

Tải xuống SLF4J và đặt tệp slf4j-api-1.7.2.jar lên đường dẫn lớp học của bạn.

+3

Tôi cũng có cùng một vấn đề. Tôi đã tải xuống SLF4J nhưng tôi không thể hiểu ý bạn là gì bởi đường dẫn lớp. Tôi đã đặt tệp slf4j-api-1.7.2.jar vào thư mục nơi tôi có tệp lớp của tệp java, nhưng nó vẫn có cùng một vấn đề. – shamila

3

Nguyên nhân Có thể không có sẵn các lọ phụ thuộc hoặc xung đột phiên bản.

Sự kết hợp lọ sau làm việc tốt cho tôi:

xuggle-xuggler-5.4.jar
slf4j-api-1.6.4.jar
logback-core-1.0.0.jar
logback- cổ điển-1.0.0.jar

5

Sự kết hợp sau đây của lọ đang làm việc cho tôi:

log4j-1.2.16.jar
slf4j-api-1.7.6.jar
slf4j-đơn giản-1.7.6.jar
xuggle-xuggler-5.4.jar

2

bạn có thể được thêm vào các lọ apache-log4j-2,7-bin. Chỉ Hủy bỏ tất cả những Chum và giữ chỉ

log4j-1.2.16.jar 
slf4j-api-1.7.6.jar 
slf4j-simple-1.7.6.jar 
xuggle-xuggler-5.4.jar 
1

Tải SLF4J và đưa các tập tin slf4j-api-1.7.25.jar, slf4j-đơn giản-1.7.25.jar vào đường dẫn lớp ứng dụng.

Điều này sẽ giúp giải quyết ngoại lệ này cùng với ngoại lệ sau SLF4J: Không thể tải lớp "org.slf4j.impl.StaticLoggerBinder".

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