当前位置: 首页 > 知识库问答 >
问题:

闪光灯错误: 无法找到或加载主类

常翰
2023-03-14

我正在尝试运行那些 Flink 基准测试:https://github.com/dataArtisans/flink-benchmarks

我使用maven和该命令生成了jar文件:

mvn clean package -Pbuild-jar

然后我尝试使用以下命令在Flink集群上运行基准测试:

./bin/flink run -c org.apache.flink.benchmark.WindowBenchmarks ~/flinkBenchmarks/target/flink-hackathon-benchmarks-0.1.jar

我已使用 -c 选项将要运行的基准测试(窗口窗口标记)的 Main 添加到类路径中。

最后,我得到了这个错误:

# JMH version: 1.19
# VM version: JDK 1.8.0_151, VM 25.151-b12
# VM invoker: /usr/lib/jvm/java-8-oracle/jre/bin/java
# VM options: -Dlog.file=/home/user/flink-1.3.2/flink-dist/target/flink-1.3.2-bin/flink-1.3.2/log/flink-user-client-mypc.log -Dlog4j.configuration=file:/home/user/flink-1.3.2/flink-dist/target/flink-1.3.2-bin/flink-1.3.2/conf/log4j-cli.properties -Dlogback.configurationFile=file:/home/user/flink-1.3.2/flink-dist/target/flink-1.3.2-bin/flink-1.3.2/conf/logback.xml -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
# Warmup: 10 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.apache.flink.benchmark.WindowBenchmarks.sessionWindow

# Run progress: 0.00% complete, ETA 00:04:00
# Fork: 1 of 3
Error: Could not find or load main class org.openjdk.jmh.runner.ForkedMain
<forked VM failed with exit code 1>
<stdout last='20 lines'>
</stdout>
<stderr last='20 lines'>
Error: Could not find or load main class org.openjdk.jmh.runner.ForkedMain
</stderr>

# Run complete. Total time: 00:00:00

Benchmark  Mode  Cnt  Score   Error  Units

The program didn't contain a Flink job. Perhaps you forgot to call execute() on the execution environment.

我以前没有任何与Flink和Maven打交道的经验,所以我找出了缺少的东西。我的第一个想法是,这是一个缺少依赖项的错误,但它们看起来很好。有什么建议吗?

先谢谢你!

共有1个答案

孙绍辉
2023-03-14

flink-benchmarks是一个存储库,其中包含一组微型基准测试,这些基准测试旨在在单台机器上运行,而不是在集群上运行。在各个类(测试用例)中定义的主要功能是“JMH”运行器,而不是 Flink 程序。因此,您可以执行整个基准测试套件(大约需要1小时):

mvn-Dflink.version=1.5.0清理安装exec:exec

或者如果您只想执行一个基准测试,最好的方法是手动执行选定的main函数。例如,在您的IDE中(不要忘记选择flink.version,属性的默认值在pom.xml中定义)。

也有可能从控制台执行单个基准测试,但我很长一段时间都没有尝试过。

 类似资料:
  • 问题内容: 我想连接我的java程序以连接数据库并检索数据。它的编译完美,但运行时即时得到这个 我已经安装了Java SQL驱动程序,并将jar路径作为CLASSPATH添加到环境变量中 问题答案: 您应该从这里下载驱动程序 和JAR文件需要添加到项目类路径。 首先,右键单击Eclipse Project,然后单击Project-> Build Path-> Configure Build Pat

  • 当我正常运行此代码时,它会吐出: 异常线程"main"java.lang.ClassNotFoundExcture: bookReader 在java.net.URLClassLoader.find类(URLClassLoader.java:381) 在java.lang.ClassLoader.load类(ClassLoader.java:424)<在sun.misc.启动$AppClassLo

  • 问题内容: 我在笔记本电脑上有一个日食项目,我将其推送到Git https://github.com/chrisbramm/LastFM-History-Graph.git 它可以完全在我的笔记本电脑上运行,并且可以正常运行/构建,但是在我的台式机上,Eclipse没有显示错误 错误:找不到或加载主类lastfmhistoryguis.InputPanel 我尝试从以下位置构建项目: 但是什么也没

  • 此依赖项导致Eclipse Juno在pom.xml上给出一个红色十字标记,并在

  • 我使用的是Java Maven程序,我不知道输入什么作为

  • 我是Java编程新手。我有这样一个类,它应该运行一个. bat文件,该文件位于我的本地磁盘的一个文件夹中: 每当我运行.bat文件时,它都会正常工作。但是,当我运行我创建的类时,命令提示符显示“C:\palmuswebservice” 我不知道怎么了。有人能帮我解决这个问题吗?