Подтвердить что ты не робот

IntelliJ. Отлаживать программу, даже если она не компилируется

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

Ответ Stijn Geukens верен, но его можно улучшить. В Intellij Idea версии 12 вместо удаления правила "Make" его можно заменить на "Make, no error check". Таким образом, проект будет перестроен (компилятор попытается это сделать), но он будет запускать программу независимо от результата компиляции.

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

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

  • Используйте компилятор Eclipse: настройки → сборка, выполнение, развертывание → компилятор → компилятор Java → использование компилятора: Eclipse
  • Выберите " Продолжить ошибки"
  • Отредактируйте желаемые настройки по умолчанию (я использую это для JUnit) перед запуском до Сборка, проверка ошибок: Отметьте этот снимок экрана
  • Дополнительный шаг, чтобы Intellij не открывал классы с ошибками при запуске вашей конфигурации. Отмените выбор Автоматически показывать первую ошибку в редакторе в настройках → Сборка, выполнение, развертывание → Компилятор

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

Ответ 8

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

Ответ 9

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

Изменить - или вы можете Intellij не считать файл в качестве источника

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