Как ПРОПУСТИТЬ выполнение плагина maven из Eclipse Build Workspace

#java #eclipse #maven #gruntjs

#java #eclipse #maven #gruntjs

Вопрос:

Я использую интерфейс-maven-plugin, больше информации здесь.

Для выполнения сложных задач в maven build и, поскольку я использую Eclipse, он создает рабочее пространство каждый раз, когда я что-то меняю в коде.

Проблема в том, что процесс сборки Eclipse каждый раз выполняет плагины maven, и это делает процесс очень медленным. Итак, я хотел бы знать, как я могу пропустить выполнение плагина maven из Eclipse Build workspace. Есть идеи?

Заранее спасибо,

Комментарии:

1. Вероятно, у вас установлена опция в меню «Проект> Строить автоматически». Это заставляет Eclipse перестраиваться после каждого сохраненного файла. Попробуйте снять этот флажок (и выполнить сборку вручную из него, используя меню «Проект> Сборка»)

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

Ответ №1:

Да: Вы можете указать Eclipse игнорировать выбранные плагины Maven двумя способами:

  • Из Eclipse: Откройте окно> Настройки> Maven> Сопоставления жизненного цикла.
  • Из Maven: Добавьте в свой POM org.eclipse.m2e:lifecycle-mapping плагин.

Посмотрите на этот пример.

Комментарии:

1. Здравствуйте, спасибо за ваш ответ, похоже, это именно то, что мне нужно, однако это не работает. Я поместил в свой pom код, указанный в главе «Игнорировать цель плагина» документа, который вы мне прислали, однако он все еще выполняет плагины. Вот мой POM-файл -> codeshare.io/yKBWd .

2. Я бы предпочел иметь это в файле POM, чтобы упростить работу новым разработчикам, которые могут войти в проект в будущем.

3. Я делал это неправильно, хотя я должен поместить некоторые цели maven в тег goal, но это должен быть плагин gols. Итак, в случае с интерфейсом-maven-plugin я поместил теги ниже, и это работает отлично :). Большое вам спасибо за вашу помощь! <цель>install-node-and-npm</цель> <цель>npm</цель> <цель>bower</цель> <цель>grunt</цель>

Ответ №2:

Чтобы расширить ответ Литтла Санти, я добавил это в свой POM:

     ...
    </plugins>

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>com.github.eirslett</groupId>
                                    <artifactId>frontend-maven-plugin</artifactId>
                                    <versionRange>1.6</versionRange>
                                    <goals>
                                        <goal>install-node-and-npm</goal>
                                        <goal>npm</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>