我下載了最新的google caliper源代碼並使用maven構建它。現在我試圖運行谷歌卡尺範例測試給出here.。我正在使用下面的命令來執行測試。谷歌Caliper示例測試不起作用?
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類存在於應用服務引擎的工具-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
但錯誤是一樣的,它看起來不像命令正在查看其他具有Splitter類的jar文件。
不知道關於應用服務引擎,但'Splitter'是[Guava]的一部分(http://code.google.com/p/guava-libraries)。關於命令,你必須做錯了,因爲它別無選擇,只能使用提供的CLASSPATH。實際上,maven應該處理所有的事情...... – maaartinus
如果我使用提供的命令,那麼它也不起作用。你可以給我命令的例子,並在哪個目錄我應該運行這個命令? – Rakesh