Как компоновщики Java и Maven работают вместе в Eclipse? - PullRequest
15 голосов
/ 26 июля 2011

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

Что касается Maven2Bulder.Я только что клонировал git-репозиторий m2e-core и есть соответствующий класс 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 или некоторая информация профиля и цель / цель текущей конфигурации Run, и он просто запускает mvn с этими частями информации, но он делает гораздо больше и может привести к неожиданному поведению.

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

1 Ответ

12 голосов
/ 26 июля 2011

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

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

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

...