Построил сборку sbt, затем запустил с помощью sbt ‘run-main ‘ сбой с [ошибкой] Недопустимая команда: run-main

#sbt

#sbt

Вопрос:

Эта проблема появляется в другом месте, и люди предлагают использовать runMain, но это заканчивается ClassNotFoundException , тогда как эта трассировка — это то, что я получаю:

 sbt:reach-exe> run-main org.clulab.processors.server.ProcessorServer
[error] Expected ID character
[error] Not a valid command: run-main
[error] Expected project ID
[error] Expected configuration
[error] Expected ':'
[error] Expected key
[error] Not a valid key: run-main (similar: runMain, bgRunMain, fgRunMain)
[error] run-main org.clulab.processors.server.ProcessorServer
[error]         ^
  

Это был сложный запрос для хорошего googlefoo. Чего мне не хватает? Заранее спасибо.

Ответ №1:

Это runMain в более новых версиях sbt. Имена, разделенные тире, устарели некоторое время назад.

Если есть только один, main вы можете просто использовать run command.

Комментарии:

1. Эта команда: sbt ‘runMain org.clulab.processors.server. ProcessorServer’ заканчивается [ошибкой] (run-main-0) java.lang. Исключение ClassNotFoundException: org.clulab.processors.server. ProcessorServer — вот что делает это таким запутанным.

2. runMain также жаловался на [предупреждение] Об обнаружении нескольких основных классов. Запустите ‘показать обнаруженные основные классы’, чтобы просмотреть список

3. У меня нет ответа на мой собственный вопрос, но я узнал, что мне не нужно создавать fat jar; программа запускается с обычной командой ‘run-main’ без сборки.

4. @Mateusz, это помогло мне. Спасибо.