IntelliJ. Отладка программы, даже если она не компилируется - PullRequest
13 голосов
/ 14 сентября 2011

У меня есть Java-проект в IntelliJ, который компилируется, и теперь я медленно меняюсь.

Можно ли попросить IntelliJ запустить проект, даже если некоторые части кода все еще не компилируются?Если да, то как?

Зачем мне это нужно, спросите вы?см. этот тикет: команды IDEA-61945 Run и Debug должны игнорировать ошибки компиляции, не связанные с выполняемым основным.http://youtrack.jetbrains.net/issue/IDEA-61945?query=it#tab=Comments

Пожалуйста, не отвечайте на этот пост, спрашивая меня, должен ли я или не должен запускать проект, даже если он не компилируется.пожалуйста.

Если это невозможно в IntelliJ, возможно ли это в maven?Как?

Ответы [ 10 ]

22 голосов
/ 27 июня 2013

В Intellij 12 у вас также есть следующий вариант (который лично я считаю лучшим):

  • Перейти к редактированию конфигурации вашей программы запуска
  • Перейти в раздел перед запуском
  • Если в списке есть «Make»: удалить его
  • Добавить 'Сделать, без ошибок'

Теперь, когда вы запустите, make будет по-прежнему выполняться автоматически, но запуск продолжится, даже если ошибки компиляции.

Относительно вышеупомянутых прений; Я думаю, что имеет смысл иметь возможность запускать часть кода, которая компилируется, даже если другая часть кода этого не делает; например если эта другая часть кода принадлежит модулю, который находится в вашем проекте, но не задействован при запуске.

6 голосов
/ 07 декабря 2011

Я столкнулся с точно такой же проблемой на работе сегодня. До этого я, вероятно, быстро прыгнул на подножку: «Зачем тебе это делать?» Оказывается, что Eclipse позволяет вам делать именно это, и если вы начинаете работать одновременно с другими разработчиками, которые зависят от этой функции (то есть проверять код, который не компилируется), удобно иметь возможность делать то же самое в IDEA!

И, к счастью для нас, пользователей IDEA, вы можете. Следуйте этим инструкциям из FAQ для пользователей Eclipse , и все готово:

Чтобы иметь возможность запускать код с ошибками, вы можете выбрать Eclipse компилятор в диалоге настроек, компилятор, компилятор Java и добавьте Опция -proceedOnError для дополнительных параметров командной строки для компилятора.

Единственное, что неубедительно, это то, что он не такой гладкий, как в Eclipse. Во-первых, вам нужно снять галочку с опции Make перед запуском, потому что IDEA не запустится, если make потерпит неудачу. Затем вам придется помнить, чтобы построить перед запуском. Однако с этими предостережениями вы сможете выполнить то, что вам нужно.

3 голосов
/ 09 октября 2013

Stijn Geukens ответ правильный, но его можно улучшить. В версии 12 Intellij Idea вместо удаления правила «Сделать» его можно заменить на «Сделать, без ошибок». Таким образом, проект будет перестроен (компилятор попытается это сделать), но он запустит программу независимо от результата компиляции.

2 голосов
/ 14 сентября 2011

Если вы хотите отладить только одну часть, то вы можете создать модульный тест вокруг этого. Если вы не используете класс, который не компилируется, вы все равно можете отладить код, связанный с модульным тестом.

1 голос
/ 27 декабря 2017

Для Intellij 2017.3.1 моя конфигурация такая:

  1. Использование Eclipse Compiler : Настройки -> Построение, выполнение, развертывание -> Компилятор -> Java Compiler -> Использовать компилятор: Eclipse
  2. Выберите " Продолжить при ошибках "
  3. Перед запуском измените настройки по умолчанию (я использую это для JUnit) в Сборка без проверки ошибок : Проверка этого снимка экрана
  4. Дополнительный шаг, чтобы Intellij не открывал классы с ошибками при запуске вашей конфигурации. Снимите флажок Автоматически отображать первую ошибку в редакторе в меню «Настройки» -> «Построение, выполнение, развертывание» -> «Компилятор»

PS: эта конфигурация не идеальна для всех видов использования. Это работает только тогда, когда вы исправляете модульные тесты, которые не были выполнены из-за изменений в коде реализации. Когда вы вернетесь к реализации функций, более полезно отключить эту функцию, поскольку она позволит вам запустить код реализации с ошибками и не будет переходить к ошибкам компиляции. Вам нужно идти вперед и назад с заменой компилятора Eclipse на Javac для достижения наилучших результатов.

1 голос
/ 06 марта 2013

По крайней мере, в Intellij 12 вы можете достичь этого.

  • Сначала попробуйте скомпилировать проект, включая поврежденные классы.
  • Затем в представлении Messages, содержащем все ошибки компиляции:
    • Щелкните правой кнопкой мыши класс, который вы хотите исключить
    • Нажмите «исключить из компиляции»

См. этот вопрос о том, как впоследствии включить.

1 голос
/ 22 марта 2012

При наличии ошибок компиляции вы можете исключить определенные файлы из компиляции.

  • Перейти в окно сообщений (если оно не отображается: Вид -> Окно инструментов -> Сообщения)
  • Щелкните правой кнопкой мыши файл проблемы
  • Исключить из компиляции
0 голосов
/ 22 августа 2018

обновление для версии 2017 - сообщество 2.5, поскольку пункты меню немного отличаются

Перейдите к:

Выполнить> Редактировать конфигурации

в нижней части конфигурации Run / debugокно ищет

"перед запуском: Активировать окно инструмента"

в поле под этим заголовком перечислены текущие настройки конфигурации сборки.

Используйте символы + и - дляДобавить и удалить настройки сборки.

После завершения

Выберите «Применить», затем «Хорошо»

Вот и все!

0 голосов
/ 14 сентября 2011

Ничего себе, я давно не был в IntelliJ и очень скучаю по нему! Насколько я помню, вы должны иметь возможность щелкнуть правой кнопкой мыши по основному методу в модуле и запустить его напрямую, пока компилируются остальные файлы в модуле. Я не думаю, что имеет значение, что второй модуль в том же проекте имеет ошибки. Это не работает для вас?

0 голосов
/ 14 сентября 2011

Я не думаю, что это вообще возможно. Как вы можете запустить то, что не компилируется? Это было бы похоже на вождение автомобиля, который не собран. Вы можете закомментировать файлы, которые не компилируются, так что проект компилируется ....

Редактировать - или вы можете сделать так, чтобы Intellij не считал файл как источник,

Щелкните правой кнопкой мыши по вашему проекту -> открыть настройки модуля -> выберите свой модуль -> выберите файл -> исключено

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