gpt4 book ai didi

java - google Caliper 示例测试不起作用?

转载 作者:搜寻专家 更新时间:2023-11-01 03:26:47 27 4
gpt4 key购买 nike

我下载了最新的 google caliper 源代码并使用 maven 构建它。现在我正在尝试运行给定 here. 的 google 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)

我试图查看 caliper jar 文件,但找不到 com.google.common.base.Splitter 类文件。甚至我也无法获取 Splitter.java 文件。任何人都可以建议我在这里缺少什么吗?

编辑 1:
我发现 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

但错误是一样的,它看起来不像命令正在查看另一个具有 Splitter 类的 jar 文件。

最佳答案

我的回答不是真正的答案,但评论太长了。

不幸的是,我对 maven 几乎一无所知。对我有用的是下载 git 存储库并创建 eclipse 项目。这肯定不是一个干净的解决方案,但它很简单并且让我可以从库中学习。

对我有用的:

在我的工作树中,我找到了 pom.xml,切换到该目录并运行 mvn install。它在 ~/.m2/repository 深处的某处创建了一些 jar。由于路径对我来说太长了,我通过 ln -s ~/.m2/repository/com/google/. 创建了一个符号链接(symbolic link)。我手动编译了 StringBuilderBenchmark 并准确地得到了你的错误。

然后我在我的 guava 文件夹中运行 mvn install 并且现在正在运行

java -cp .:\
./google/caliper/caliper/1.0-SNAPSHOT/caliper-1.0-SNAPSHOT.jar:\
./google/guava/guava/12.0/guava-12.0.jar \
examples/StringBuilderBenchmark

提示 gson 缺少 com/google/gson/JsonParser .那么您可能需要 google instrumenter,仅此而已。

这肯定不是要走的路。 Maven 应该会处理好所有事情,我非常希望它能做到。我建议将标签 maven 添加到您的问题中。

关于java - google Caliper 示例测试不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com