IntelliJ IDE сначала компилирует другую, и если в ней нет ошибок, компилируется та, для которой я щелкнул - PullRequest
0 голосов
/ 08 октября 2018

У меня есть проект под названием "Еще один".Он имеет 2 программы, которые не имеют никакого отношения друг к другу.Программы "abc.java" и "def.java".Обе программы предназначены для печати "Hello World".Если «abc.java» не содержит ошибок, то только компилятор компилирует «def.java», хотя «def.java» не содержит ошибок.Нужно ли создавать один проект для каждой программы, которую я делаю.Я новичок в программировании.

def.java отлично работает здесь

когда я удалил точку с запятой из abc.java, def.java перестал работать

Структура проекта

Структура модуля

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Получите свои определения и термины, прежде чем делать что-либо еще.

А затем скажите людям, что вы на самом деле делаете.

Как уже говорилось, IntelliJ (и, действительно, все современные IDE) имеют модулии проекты.Когда вы выполняете цель в модуле, весь этот модуль создается в случае необходимости.

Если «abc.java» не содержит ошибок, тогда только компилятор компилирует «def.java», даже если"def.java" не имеет ошибок

Это не имеет никакого смысла.Компилятор скомпилирует все, что нужно для компиляции.Но, скорее всего, вы не говорите о компиляции, вы нажимаете кнопку «Выполнить», которая запускает все, что настроено для запуска.

Если у вас настроена только одна конфигурация запуска, это то, что ВСЕГДА будетзапустить, нажав эту кнопку.Если вы хотите запустить что-то без создания явной конфигурации запуска, просто щелкните правой кнопкой мыши по файлу с открытым исходным кодом и выберите «Выполнить».

Это приведет к компиляции ВСЕХ измененных исходных кодов в модуле.msgstr "компилировать x, несмотря на то, что у вас нет ошибок".Он также попытается скомпилировать все, что имеет ошибки, и потерпит неудачу.

0 голосов
/ 08 октября 2018

Во-первых, в IntelliJ вы думаете не с точки зрения «программ», а с точки зрения «проекта» и «модулей».Самым базовым является проект, в котором расположен единственный модуль, в котором находится проект (например, Project в D: \ projects \ MyProjects с 1 модулем в D: \ projects \ MyProjects ).

Structure 1

Structure 2

Project

Что я могу подумать о неправильной работе:

  • Ваш модуль, содержащий abc.java, на самом деле не является модулем.если вы можете выполнить abc.java с конфигурацией запуска, это должен быть модуль.
  • Ваши параметры сборки несколько неверны.

Ошибки компилятора не позволят вам запустить программупредотвратить неправильное поведение в вашем приложении.Для меня, я не могу выполнить модуль, только если другие модули имеют какую-либо ошибку компилятора, в то же время являясь зависимостью для исполняющего модуля.Но не уверен, что инструмент / плагин вызывает такое поведение.

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

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

...