У меня есть проект, созданный из шаблона. Когда я делаю sbt run
, я выбираю класс с main и он запускается. Но когда я прохожу класс с sbt "runMain com.mitzit.WordCount"
, это терпит неудачу. Как я могу передать класс с main, который я хочу запустить из командной строки? Я не хочу редактировать build.sbt
Шаги для воспроизведения
получить проект:
sbt new tillrohrmann/flink-project.g8 \
--name=sbt-flink-template \
--organization=com.mitzit \
--version=0.1 \
--flink_version=1.7.0 \
--scala=2.12.11
Это работает
run sbt run
Multiple main classes detected, select one to run:
[1] com.mitzit.Job
[2] com.mitzit.SocketTextStreamWordCount
[3] com.mitzit.WordCount
Enter number: 3
[success] Total time: 395 s, completed Apr 22, 2020 4:24:22 PM
Это терпит неудачу
sbt "runMain com.mitzit.WordCount"
[error] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/api/common/typeinfo/TypeInformation
[error] at com.mitzit.WordCount.main(WordCount.scala)
Как можно запустить указанную c главную без необходимости выбирать ее каждый раз?