Есть ли способ скрыть папку "target/" Maven 2 в Eclipse 3? - программирование
Подтвердить что ты не робот

Есть ли способ скрыть папку "target/" Maven 2 в Eclipse 3?

Я использую maven 2.0.9 с Eclipse 3.3.2.

Я использую для создания новой сборки один раз в день с помощью mvn clean install. Затем, если я обновляю проект Eclipse, он будет "загрязнен" файлами из целевого каталога Maven.

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

Есть ли способ избежать поиска Eclipse в этой папке?

4b9b3361

Ответ 1

Щелкните правой кнопкой мыши папку, которую вы хотите игнорировать, откройте диалоговое окно "Свойства", выберите вкладку "Ресурс" и установите флажок "Производные"

Ответ 2

Переконфигурируйте "clean" в Maven, чтобы не удалять целевой каталог:

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <configuration>
        <excludeDefaultDirectories>true</excludeDefaultDirectories>
        <filesets>
            <!-- delete directories that will be generated when you 
                 start the develpment server/client in eclipse  
            -->
            <fileset>
                <directory>target</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>

(найдено по адресу: http://maven.40175.n5.nabble.com/how-to-NOT-delete-target-dir-td3389739.html#a3413930)

Ответ 3

Решение для индиго [SR2]

Project Explorer > Customize View > Filters > [*] Maven Build Folder

Ответ 5

Чтобы решить эту проблему, вот что я сделал:

Установить Groovy Обезьяна для Eclipse Создал оболочку Bean Script "UpdateMavenDerived_Beanshell.gm", чтобы отметить любую директорию с именем target как производную.

----------- Вырежьте ниже для script --------------

/*
 * Menu: Find System Prints > Beanshell
 * Script-Path: /GroovyMonkeyScripts/monkey/UpdateMavenDerived_Beanshell.gm
 * Kudos: Bjorn Freeman-Benson & Ward Cunningham & James E. Ervin
 * License: EPL 1.0
 * LANG: Beanshell
 * DOM: http://groovy-monkey.sourceforge.net/update/plugins/net.sf.groovyMonkey.dom
 */
out.println("Setting target directories to derived status.");
var projects = workspace.getRoot().getProjects();
for ( var i = 0; i < projects.length; i++) {
    var project = projects[i];
    if (project.isOpen()) {
        out.println("Project: " + project.getName());
        var members = project.members();
        for ( var j = 0; j < members.length; j++) {
            if (members[j].getName().equals("target")) {
                out.println("setting derived status on: "+ members[j].getFullPath());
                members[j].setDerived(true);
            }
        }
    }
}

Ответ 6

Вы пытались настроить диалоговое окно "Фильтры элементов Java", (через стрелку в правом верхнем углу проектного проводника)?

При необходимости вы можете определить свой собственный ViewerFilter

Ответ 7

Настройки > Командa > Игнорируемые ресурсы

Добавьте "target" и перезапустите Eclipse.

Ответ 8

Плагин maven не скрывает целевой каталог. Тем не менее он использует целевые папки maven для настройки eclipse. Таким образом, целевые/классы и целевые/тестовые классы используются eclipse, а eclipse фильтрует эти папки. Это делается с помощью "mvn eclipse: eclipse", а также с помощью плагина m2eclipse. То, что осталось видимым, - это все в целевом каталоге, кроме этих двух папок (например, сгенерированный файл jar).

Вы можете создать фильтр для проводника пакетов, но это не повлияет на "открытый ресурс".

Ответ 9

У меня были некоторые проблемы, потому что некоторые решения здесь работают только для некоторых видов, поэтому я сделал иллюстрированное резюме.

Протестировано в Eclipse 4.4 (Luna), должно работать так же, как 3.7, в соответствии с другими ответами здесь.

Проводник пакетов

Меню просмотра обозревателя пакетов > Filters... → отметьте Name filter patterns и введите target.

Будьте осторожны, это скроет все папки и файлы с именем target, а не только каталог по умолчанию maven! У проекта Project Explorer есть лучший вариант без этой проблемы.

Package Explorer MenuPackage Explorer Dialog

Проводник проекта

Меню просмотра Project Explorer → Custom View... → найдите "maven" и отметьте Maven build folder.

Проверка этой опции скрывает каталог сборки, определенный в конфигурации pom.xml проектов.

Project Explorer MenuProject Explorer Dialog

Ответ 10

Используете ли вы плагин Maven для Eclipse?

Я бы предположил, что это скроет некоторые из "загрязнений" для вас.

Это также позволит вам выполнить сборку внутри Eclipse - это означает, что она одновременно обновит представление проекта.

Maven 2 Eclipse

Ответ 11

Использование фильтра ресурсов выглядит проблемой, если вы часто используете "mvn clean install".

В основном это добавит "целевую" и вспомогательную папки для исключения папки непосредственно в файл .project. После запуска script, если вы импортируете проект для затмения, вы можете увидеть настройку "Проект" → "Свойства" → "Ресурс" → "Фильтры ресурсов". До этого, когда я запускал mvn clean install, eclipse занимал 50% моего процессора, но теперь он остается ниже 5% при создании проекта.


function eclipse-setup() {
     mvn eclipse:clean
     mvn eclipse:eclipse
     #maven target folders
     find . -name .project -exec sed -i.MSORG 's/<\/projectDescription>/<filteredResources> <filter> <id>1314376338264<\/id> <name><\/name> <type>26
<\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-false-target<\/arguments> <\/matcher> <\/filter> <filt
er> <id>1314387234341<\/id> <name><\/name> <type>6<\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-fals
e-*.cache.html<\/arguments> <\/matcher> <\/filter> <\/filteredResources><\/projectDescription>/' {} \;

}

Ответ 12

Когда Eclipse зависает, глядя на активность процесса, я вижу, что он просматривает все мои целевые,.hg и .git каталоги. Более того, эти каталоги также копируются в каталог Eclipse bin. Множество CPU и дискового использования ничего.

Не очистка целевого каталога не является приемлемым решением.

Было решение, использующее Monkey script (http://maven.40175.n5.nabble.com/Eclipse-amp-target-directory-td72354.html), но проект был закрыт.

Я все еще ищу решение, чтобы сказать Eclipse игнорировать целевые каталоги Maven, а также каталоги .hg и .git.

Eclipse постоянно наблюдает за тем, что это боль.

Я также использую m2eclipse, но это не решает эту проблему.