最新の Google キャリパー ソース コードをダウンロードし、maven を使用してビルドしました。ここで、Google キャリパーのサンプル テストを実行しようとしています。. 以下のコマンドを使用してテストを実行しています。
java -cp /home/rakesh/programming/refcode/caliper/caliper/target/caliper-1.0-SNAPSHOT.jar com.google.caliper.Runner examples.StringBuilderBenchmark
しかし、次のエラーが発生します。
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Splitter
at com.google.caliper.Runner.<clinit>(Runner.java:67)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Splitter
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
キャリパー jar ファイルを調べてみましたが、com.google.common.base.Splitter クラス ファイルが見つかりませんでした。Splitter.java ファイルを取得できませんでした。ここで欠けているものを誰かが教えてくれますか?
EDIT1:
com.google.common.base.Splitter クラスが appengine-tools-sdk-1.2.1.jar jar ファイルに存在することがわかりました。以下に示すように、コマンドに jar ファイルを含めました。
java -cp /home/rakesh/programming/refcode/caliper/caliper/target/caliper-1.0-SNAPSHOT.jar:/home/rakesh/programming/refcode/caliper/examples/appengine-tools-sdk-1.2.1.jar com.google.caliper.Runner examples.StringBuilderBenchmark
しかし、エラーは同じで、コマンドがスプリッタークラスを持つ他のjarファイルを調べているようには見えません。