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

Разница между intellij Project make и Maven Compile?

При работе в модуле maven, какая разница между выполнением в intellij build → Make Project и Maven Projects → Root pom → Фаза компиляции.

Использует ли intellij maven? Оба из них собирают источники в одном месте? Они оба копируют файлы ресурсов? Зачем нужны обе опции? Является ли intellij загружать зависимости автоматически, и мы можем просто вызвать проект make, не используя maven compile?

intellij project: two ways of compiling

4b9b3361

Ответ 1

Они на самом деле очень схожи с точки зрения выполняемой ими задачи, которая заключается в компиляции исходных и тестовых путей проекта с помощью javax.tools.JavaCompiler по умолчанию.

Включает ли intellij maven?

Нет по умолчанию. Помните, что это просто IntelliJ, встроенный в Java-компилятор, и некоторые Java-проекты не используют maven.

Соединяют ли они оба источника в одном месте?

Да, они используют одни и те же исходные файлы для компиляции, если это то, что вы здесь задаете.

Они оба копируют файлы ресурсов?

Да, они оба копируют файлы ресурсов в разные местоположения.

Зачем нужны обе опции?

Нам не нужны оба варианта. Команда компиляции Maven проверяет исходный код на любые синтаксические ошибки, которые эффективно покрывают работу, выполняемую опцией IntelliJ make.

Выполняет ли intellij загрузку зависимостей автоматически, и мы можем просто вызвать проект make, не используя компиляцию maven?

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

Ответ 2

Нет, IntelliJ не вызывает maven, но получает всю информацию из pom.xml, например. библиотеки выходных каталогов и т.д.

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

Все зависимости maven будут загружаться из IntelliJ an, хранящегося в локальном репозитории maven.

Ответ 3

Предположим, что у нас есть Проект A, который использует Проект Maven B.

Если вы изменили проект B, вам нужно обновить этот проект на A. Затем вам нужно скомпилировать B в A.

Но если вы изменили только А, вам не нужно собирать Maven.