Play Framework 2.4 и идея IntelliJ

Я пытаюсь открыть проект play 2.4 в IntelliJ, но, поскольку все изменилось, я не знаю, как это сделать.

В предыдущих версиях я мог просто запустить

activator idea

Или используйте пользовательский интерфейс активатора и нажмите «Создать проект IntelliJ», но в версии 2.4 команды idea, похоже, не существует.

[error] Not a valid command: idea (similar: eval, alias)
[error] Not a valid project ID: idea
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: idea (similar: clean)
[error] idea
[error]     ^

И пользовательский интерфейс кажется сломанным, когда я нажимаю «Создать проект IntelliJ», он пытается скомпилировать приложение и выдает эту ошибку:

play/Play$
java.lang.NoClassDefFoundError: play/Play$
Use 'last' for the full log.
Failed to load project.

Я создал проект с нуля, используя шаблон play java с помощью:

activator new

Я также пытался импортировать папку как проект, но IntelliJ, похоже, не идентифицирует ее как проект.


person RichyHBM    schedule 02.06.2015    source источник
comment
Хотя я мог бы быть нахальным и скопировать это как ответ, вот: stackoverflow.com/a/30240964/794967. Я попробовал, и это работает. Создайте проект с помощью активатора, удалите этот файл и откройте его с помощью Idea.   -  person Aleksandar Stojadinovic    schedule 03.06.2015
comment
Убедитесь, что вы используете JDK 8 (системная переменная Intellij IDEA, JAVA_HOME)   -  person taanielo    schedule 03.06.2015
comment
У меня несколько похожая проблема, когда IntelliJ не видит все тестовые классы в версии CE.   -  person Zarathuztra    schedule 04.07.2015
comment
У меня была такая же проблема, и я исправил ее, удалив папку .idea и повторно импортировав проект.   -  person Sam Orozco    schedule 01.04.2017


Ответы (5)


Я столкнулся с той же проблемой, поскольку я использовал IDEA, чтобы открыть папку проекта, в ней было приложение play 2 в подпапке, затем я импортировал модуль (приложение play 2) в систему.

И это работает хорошо.

После этого я изменил имя папки модуля, затем, когда я запускаю приложение, оно отображается:

Not a valid project ID: "project team"

Я перепроверил папку и обнаружил, что в опции «Файл» -> «Структура проекта» имя модуля — «root», а «команда» — это модуль для всего проекта (а не модуль, импортированный SBT), поэтому очевидно , модуль не работал после того, как я изменил имя папки модуля.

Поэтому я нашел и удалил всю папку .idea, которая является конфигурацией IDEA, затем повторно открыл/повторно импортировал модуль, но все равно не работает. Я думал, что это проблема с кешем IDEA, у него есть кеш для открытого проекта, поэтому я изменил папку проекта с team на что-то другое, очистил папки .idea и повторно открыл/повторно импортировал его. Это сработало.

Если приложение воспроизведения находится в папке проекта в виде подпапки, импортировать модуль можно в Файл -> Структура проекта.

Имя проекта должно быть «root» при запуске в IDEA. Поэтому в этом случае вы должны переименовать «команду проекта» в «корень» в поле имени.

введите описание изображения здесь

введите описание изображения здесь

person Tom    schedule 23.12.2015
comment
ROOT - это был корень моих проблем! большое спасибо :) - person radistao; 12.10.2016
comment
Спасибо! После переименования модуля в «root» все хорошо. - person Ricky Boy; 07.12.2017
comment
Спасибо! Это явно ошибка. Я нашел ваш ответ после того, как подал заявку на youtrack.jetbrains.com/issue/SCL-13988 - person expert; 08.07.2018

Решение 1

В моем случае (IDEA 2018.2) я изменил переменную lazy val в build.sbt, у нее было имя «root», когда имя моего проекта было «top», изменил «root» на «top» .

До:

lazy val root = (project in file(".")).enablePlugins(PlayScala)

После:

lazy val top = (project in file(".")).enablePlugins(PlayScala)

Изменить переменную проекта

Решение 2

Метод, предложенный Томом, частично решил мою проблему, так как после перезагрузки IDEA я вернул имя проекта обратно, нужно было измените переменную с «top» на «root» в build.sbt.

До:

name: = "top" 

После:

name := "root"
person Key    schedule 02.08.2018

Intellij IDEA позволяет быстро создать приложение Play без использования командной строки. Вам не нужно ничего настраивать за пределами IDE, инструмент сборки SBT позаботится о загрузке соответствующих библиотек, разрешении зависимостей и сборке проекта.

Прежде чем приступить к созданию приложения Play в IntelliJ IDEA, убедитесь, что последний подключаемый модуль Scala установлен и включен в IntelliJ IDEA. Даже если вы не разрабатываете на Scala, это поможет с механизмом шаблонов, а также с разрешением зависимостей.

По сути, установите Play Framework, плагины Scala и импортируйте проект в Intellij как проект SBT. Не используйте активатор для создания файлов проекта IDEA. Подробнее здесь.

person Mon Calamari    schedule 02.06.2015
comment
Он мог использовать плагин, только если у него была IDEA Ultimate. - person Aleksandar Stojadinovic; 03.06.2015
comment
Верно, но из вопроса непонятно, является ли его Ultimate. - person Mon Calamari; 03.06.2015
comment
И не работает, если вы хотите создать его с помощью семени java - person uesports135; 05.11.2016

Кажется, я не обновил scala/sbt до последней версии в intelliJ. Как только я это сделал, он заметил, что это действительный проект, хотя в документах, похоже, не упоминается, что вы можете импортировать его как проект SBT, просто как создайте его как новый проект sbt (что я не хотел делать, так как хотел создать его через активатор)

У меня также была проблема с файлом project/play-fork-run.sbt.

person RichyHBM    schedule 03.06.2015
comment
Его не нужно импортировать (если вы думаете о New › From Existing Sources). Вы можете просто открыть его после того, как он был сгенерирован с помощью активатора. - person Aleksandar Stojadinovic; 03.06.2015

Я использую Intellij Idea 16.3.3, и эта проблема иногда возникает. Как я это исправил? Вам просто нужно открыть свой плагин SBT и в вашем проекте получить контекстное меню, затем вы должны выбрать «Игнорировать проект SBT». После завершения текущего процесса вы должны снова включить эту опцию. Это работа для меня :)

person Mr. Skip    schedule 25.01.2017
comment
Вы должны добавить более четкую информацию о том, что вы предлагаете. Что такое Откройте ваш плагин SBT, и я не смог найти ни одного из описанных вами шагов. - person El Mac; 10.04.2018