Sunday, 15 May 2011

maven - java not finding class in jar after successfully compiling with javac against same jar -



maven - java not finding class in jar after successfully compiling with javac against same jar -

i looking @ question on stackoverflow , thought i'd seek run benchmark myself. downloaded caliper , compiled using maven. compiled hashcodebenchmark linked question using jar maven created. however, when seek run hashcodebenchmark, java complains cannot find entrypoint class within jar.

i utterly perplexed , have no thought problem is.

compile:

$ javac benchmark/hashcodebenchmark.java \ -classpath caliper-1.0-beta-snapshot-all.jar \ && echo success success

run:

$ java benchmark.hashcodebenchmark -classpath caliper-1.0-beta-snapshot-all.jar exception in thread "main" java.lang.noclassdeffounderror: com/google/caliper/runner/calipermain @ benchmark.hashcodebenchmark.main(hashcodebenchmark.java:64) caused by: java.lang.classnotfoundexception: com.google.caliper.runner.calipermain @ java.net.urlclassloader$1.run(urlclassloader.java:366) @ java.net.urlclassloader$1.run(urlclassloader.java:355) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:354) @ java.lang.classloader.loadclass(classloader.java:425) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:308) @ java.lang.classloader.loadclass(classloader.java:358) ... 1 more

you're providing -classpath argument after class name - it's beingness passed main method. need provide before class name, , include current directory in classpath too:

$ java -classpath caliper-1.0-beta-snapshot-all.jar:. benchmark.hashcodebenchmark

java maven jar caliper

No comments:

Post a Comment