конфигурация intellij 2020.1 sbt mainRunner - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь следовать инструкциям для настройки проекта intellij scala для работы с sbt. Тем не менее, я не нахожу запуск / конфигурацию, описанную в intellij 2020.1. Основываясь на этом посте Я понимаю, что способ, которым это настроено, изменился. Тем не менее, этот пост описывает, как заставить старый проект работать. Что мне делать для новых проектов?

Шаги для воспроизведения

  1. Создать хороший проект sbt с idea.sbt, уже настроенный с mainRunner

sbt new tillrohrmann/flink-project.g8

это включает idea.sbt

lazy val mainRunner = project.in(file("mainRunner")).dependsOn(RootProject(file("."))).settings(
  // we set all provided dependencies to none, so that they are included in the classpath of mainRunner
  libraryDependencies := (libraryDependencies in RootProject(file("."))).value.map{
    module => module.configurations match {
      case Some("provided") => module.withConfigurations(None)
      case _ => module
    }
  }
)

Он также поставляется с README.md, который говорит:

You can also run your application from within IntelliJ:  select the classpath of the 'mainRunner' module in the run/debug configurations.
Simply open 'Run -> Edit configurations...' and then select 'mainRunner' from the "Use classpath of module" dropbox.

Импорт проекта в intellij 2020.1

И что теперь? Я не могу найти Dropbox "Использовать classpath модуля" в intellij 2020.1.

1 Ответ

1 голос
/ 26 апреля 2020

IntelliJ Use classpath of module соответствует пути к классу подпроекта sbt. Чтобы создать Run Configuration с использованием classpath проекта mainRunner, попробуйте

  1. Run | Edit Configurations...
  2. Нажмите кнопку плюса + до Add New Configuration
  3. Выберите Application
  4. Дайте ему имя, скажем WordCount
  5. Под Main Class укажите Scala класс с main методом, скажем, org.example.WordCount
  6. Working directory должно быть root проекта
  7. Установить Use classpath of module на mainRunner
  8. JRE должно быть 1,8 или выше

enter image description here

Обратите внимание, что в качестве альтернативы использованию проекта mainRunner вы также можете использовать проект root, но установите флажок Include dependencies with "Provided" scope.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...