2015-02-08 287 views
0

我已经编写了通过网络摄像头捕获照片的java代码,但是此java代码抛出错误/异常:线程“main”中的异常com.github .sarxos.webcam.WebcamException 请帮助解决它,我也添加了所需的API。线程“main”中的异常com.github.sarxos.webcam.WebcamException:

package photo1; 

import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import com.github.sarxos.webcam.Webcam; 

public class capture { 

    public static void main(String arg[]) throws IOException { 
     Webcam webcam = Webcam.getDefault(); 
     webcam.open(); 
     BufferedImage image = webcam.getImage(); 
     ImageIO.write(image, "JPG", new File("test.jpg")); 
    } 

} 

错误:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
Exception in thread "main" com.github.sarxos.webcam.WebcamException: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task 
    at com.github.sarxos.webcam.WebcamDiscoveryService.getWebcams(WebcamDiscoveryService.java:124) 
    at com.github.sarxos.webcam.Webcam.getWebcams(Webcam.java:816) 
    at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:879) 
    at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:856) 
    at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:834) 
    at photo1.capture.main(capture.java:12) 
Caused by: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task 
    at java.util.concurrent.FutureTask.report(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at com.github.sarxos.webcam.WebcamDiscoveryService.getWebcams(WebcamDiscoveryService.java:116) 
    ... 5 more 
Caused by: com.github.sarxos.webcam.WebcamException: Cannot execute task 
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(WebcamProcessor.java:72) 
    at com.github.sarxos.webcam.WebcamProcessor.process(WebcamProcessor.java:140) 
    at com.github.sarxos.webcam.WebcamTask.process(WebcamTask.java:46) 
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.newGrabber(WebcamDefaultDriver.java:46) 
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver.getDevices(WebcamDefaultDriver.java:118) 
    at com.github.sarxos.webcam.WebcamDiscoveryService$WebcamsDiscovery.call(WebcamDiscoveryService.java:36) 
    at com.github.sarxos.webcam.WebcamDiscoveryService$WebcamsDiscovery.call(WebcamDiscoveryService.java:26) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoClassDefFoundError: org/bridj/cpp/CPPObject 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    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) 
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56) 
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81) 
    ... 3 more 
Caused by: java.lang.ClassNotFoundException: org.bridj.cpp.CPPObject 
    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) 
    ... 17 more 
+1

这是否看起来像你的问题吗? https://github.com/sarxos/webcam-capture/issues/114 – msandiford 2015-02-08 23:24:14

回答

0

这可能是关于相关性的问题。它说它找不到org.bridj.cpp.CPPObject类。

尝试创建一个新的Maven项目,并在您pom.xml以下依赖性:

<dependency> 
    <groupId>com.github.sarxos</groupId> 
    <artifactId>webcam-capture</artifactId> 
    <version>0.3.10</version> 
</dependency> 
相关问题