webcam-capture
webcam-capture copied to clipboard
ClassNotFoundException: OpenIMAJGrabber after compiling into jar
I am trying to fuse this library with another, and I got it to work, works fine in my IDE, once I compile it into an external jar however, it ends up throwing error after error, I have included the libraries needed for it to function, including the dependencies for the webcam library. But now it gives me a stack trace of
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:893) ~[?:?]
at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:956) ~[?:?]
at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:933) ~[?:?]
at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:911) ~[?:?]
at webcam.Main.<init>(Main.java:22) ~[?:?]
at com.megiryuu.testing.Main.onEnable(Main.java:20) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-786]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.16.5.jar:git-Paper-786]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.16.5.jar:git-Paper-786]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.16.5.jar:git-Paper-786]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.16.5.jar:git-Paper-786]
at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:594) ~[patched_1.16.5.jar:git-Paper-786]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:298) ~[patched_1.16.5.jar:git-Paper-786]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1069) ~[patched_1.16.5.jar:git-Paper-786]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-786]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_301]
Caused by: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_301]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_301]
at com.github.sarxos.webcam.WebcamDiscoveryService.getWebcams(WebcamDiscoveryService.java:116) ~[?:?]
... 16 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:45) ~[?:?]
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver.getDevices(WebcamDefaultDriver.java:117) ~[?:?]
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) ~[?:1.8.0_301]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_301]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_301]
... 1 more
Caused by: java.lang.ExceptionInInitializerError
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:55) ~[?:?]
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_301]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_301]
... 1 more
Caused by: java.lang.RuntimeException: Failed to register class com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber
at org.bridj.BridJ.register(BridJ.java:194) ~[?:?]
at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60) ~[?:?]
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:55) ~[?:?]
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_301]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_301]
... 1 more
Caused by: java.lang.ClassNotFoundException: com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_301]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_301]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[?:1.8.0_301]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_301]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_301]
at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_301]
at org.bridj.BridJ.register(BridJ.java:191) ~[?:?]
at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60) ~[?:?]
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:55) ~[?:?]
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_301]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_301]
I am running x64/x86 architecture on Windows 10, running using Java 1.8 v.301
Hi @MegaBloopy ,
Caused by: java.lang.RuntimeException: Failed to register class com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber
at org.bridj.BridJ.register(BridJ.java:194) ~[?:?]
Please check if native binary, i.e. dll or so lib are packed or is your OS supported.
java.lang.ClassNotFoundException is caused by here:
public class OpenIMAJGrabber extends CPPObject {
static {
Platform.addEmbeddedLibraryResourceRoot("com/github/sarxos/webcam/ds/buildin/lib/");
BridJ.register();
}
}
rather than OpenIMAJGrabber not packed.
Alex