Я надеюсь, что это помогает

ичок в Maven, и у меня нет большого опыта работы с Eclipse.

Чтобы исключить Java-файлы из сборки в Eclipse, я щелкаю правой кнопкой мыши по файлам и выбираю Build Path -> Exclude. Это прекрасно работает для компиляции «on-save» в Eclipse, но не распространяется на проект maven, поэтому, когда я собираю свой проект с помощью mvn install, он пытается скомпилировать исключенные источники.

Я провел несколько поисков, и результаты указывают мне на плагин компилятора и функциональность <exclude>, но редактирование файлов проекта maven для временного исключения файла из сборки кажется немного неловким.

Каков «правильный» способ (временно) исключить источники из сборки maven, и есть ли простой способ сделать это из Eclipse, через плагин m2eclipse или иным способом?

Ответы на вопрос(2)

Вы можете использовать <исключает> параметр в плагине Maven Compiler для временного исключения файлов из компиляции.

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <excludes>
                    <exclude>**/model/*.java</exclude>
                </excludes>
            </configuration>
        </plugin>

Если вы используете плагин M2Eclipse и запускаете Maven-> Обновить конфигурацию проекта, исключенные файлы в pom также должны автоматически исключаться из компиляции Eclipse.

 OskarAlex27 янв. 2011 г., 11:22
Спасибо за пример кода, я думаю, что на самом деле нет ярлыка к этому :)

то вам действительно придется сделать это «maven way».

Eclipse строит проект на основе пути к классам, указанного в свойствах проекта, и он не относится к пути к классам плагина компилятора maven. «mvn compile» управляется только конфигурацией плагина компилятора.

Обычно эти «временные» изменения обрабатываются параметрами JVM, добавляемыми к цели maven (плагин maven / цель Mojo, которую вы запускаете из cmd), которую вы создаете (пользовательская) и сохраняете в «Запуск от имени»> «Выполнить настройки» , Я использую командную строку (оболочку), а не m2eclipse для Maven. изменение параметров для меня быстрее.

Чтобы выяснить, какие параметры вы можете использовать, вы можете либо указать конкретный Mojo (плагин maven) в ваших maven-зависимостях (только временно) и посмотреть на его источники прямо в eclipse, вы можете увидеть параметры, которые можно указать через "-D" Параметры JVM. Или вы можете проверить документацию.

В плагине компилятора есть параметрprivate Set<String> excludes = new HashSet<String>(); но, к сожалению, параметры коллекции не могут быть указаны в качестве параметров JVM ... Таким образом, единственная оставленная опция - настроить объявление плагина в pom.xml.

Тогда есть также профили, но они не являются полезными для этого случая.

Подводя итог, ваше требование довольно редко, исключение Java-класса из компиляции не является обычным требованием.

Я надеюсь, что это помогает

Ваш ответ на вопрос