Как сборщики Java и Maven работают вместе в eclipse?

Правильно ли я понимаю, что Java-компоновщик перекомпилирует источники на пути к пути вывода, что обычно происходит после каждого "ctrl + s", если активировано автоматическое здание или через "ctrl + b" или выдает ошибки проверки из javac.

Что касается Maven2Bulder. Я просто клонировал m2e-core git репозиторий и есть соответствующий класс org.eclipse.m2e.core.internal.builder.MavenBuilder, который довольно сложный материал.

<projectDescription>
    <name>modeshape-example-repositories</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

Я думал, что он получает переменные pom.xml, m2eclipse о местоположении репо и файле settings.xml или какой-либо информации о профиле и цели/цели текущей конфигурации запуска, и она просто запускает mvn с помощью этой информации, но она намного больше и это может привести к неожиданному поведению.

Btw, используется ли это только тогда, когда разработчик фактически запускает как > некоторую цель maven...?

Ответы

Ответ 1

Основная цель Maven-строителя - обеспечить правильность вашего POM файла и вытащить нужные вам зависимости. Он выйдет и проверяет наличие новых зависимостей, если вы сохраните свой POM файл, и он сообщит об ошибках, когда он не сможет найти зависимости.

Кроме того, maven builder выполнит создание maven до цели, установленной вами в Preferences -> Maven->Goal to run after updating project configuration после того, как вы выполните Project->Clean... в своем проекте из eclipse или внесите изменения в файл POM и сохраните его из eclipse.

Java Builder по-прежнему отвечает за создание проекта и сообщений об ошибках компилятора в представлении "Проблемы", для обеспечения ввода встроенного jUnit runner в eclipse и т.д.