sarxos / webcam-capture

The goal of this project is to allow integrated or USB-connected webcams to be accessed directly from Java. Using provided libraries users are able to read camera images and detect motion. Main project consist of several sub projects - the root one, which contains required classes, build-in webcam driver compatible with Windows, Linux and Mac OS, which can stream images as fast as your camera can serve them (up to 50 FPS). Main project can be used standalone, but user is able to replace build-in driver with different one - such as OpenIMAJ, GStreamer, V4L4j, JMF, LTI-CIVIL, FMJ, etc.
http://webcam-capture.sarxos.pl
MIT License
2.27k stars 1.11k forks source link

Compiling with excelsior jet + single jar throws exception #346

Open eix128 opened 9 years ago

eix128 commented 9 years ago

Hi , when i tried to compile Webcam Capture API maven-assembly-plugin single jar. Single jar works fine but when i tried to compile with Excelsior JET , i got error :

JET RT initialized
Class WebcamCapture found
log4j:WARN No appenders could be found for logger (com.github.sarxos.webcam.Webcam).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "Thread-0" com.github.sarxos.webcam.WebcamException: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task
        at Unknown.<unknown>(Unknown Source)
        at Unknown.<unknown>(Unknown Source)
        at Unknown.<unknown>(Unknown Source)
        at Unknown.<unknown>(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task
        ... 4 more
Caused by: com.github.sarxos.webcam.WebcamException: Cannot execute task
        ... 4 more
Caused by: java.lang.ExceptionInInitializerError
        ... 4 more
Caused by: java.lang.RuntimeException: Failed to register class Unknown
        ... 4 more
Caused by: java.lang.ClassNotFoundException: Unknown
        ... 4 more
sarxos commented 9 years ago

Hi @jduke32,

The java.lang.ClassNotFoundException: Unknown points me to the thinking that some class is missing, but since Excelsior cuts out all useful informations it may be almost impossible to find out which one is missing.

Does it have some capabilities to disable obfuscation so we can see stack trace or "real" class name instead of Unknown?