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

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

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

Это очень раздражает при выполнении поиска, получении ресурсов по «открытым ресурсам» и так далее.

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
49
0
26 767
12

Ответы 12

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

Я полагаю, это скроет для вас некоторую часть «загрязнения».

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

Maven 2 Затмение

Нет, в настоящее время я не использую плагин maven для eclipse, но я попробую.

paulgreg 12.11.2008 16:46

Я использую его, но он не скрывает содержимое целевой папки. Мне подходит техника "Derived".

Hendy Irawan 26.04.2011 22:43

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

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

Вы пытались настроить диалоговое окно параметров «Фильтры элементов Java» (с помощью стрелки вверху справа в проводнике проекта)?

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

Я пробовал это несколько недель назад, но не смог получить то, что хочу.

paulgreg 12.11.2008 16:47

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

Единственная проблема с этим методом заключается в том, что если вы когда-либо вызываете maven eclipse: clean, вам придется повторно применить изменения вашего проекта. знак равно

Spencer Kormos 13.11.2008 13:12

Щелкните папку правой кнопкой мыши, затем выберите СВОЙСТВА, затем отметьте «Производные». По крайней мере, это то, что вам нужно делать с Галилео.

George Armhold 04.11.2009 02:10

Если это не работает, убедитесь, что вы удалили все элементы истории в диалоге открытия ресурсов ...

Juan Calero 24.01.2011 18:00

@paulgreg: отметьте этот ответ как принятый, пожалуйста. подтверждена работа над Eclipse Helios 3.6 SR2

Hendy Irawan 26.04.2011 22:42

Этот не, кажется, работает для меня, однако я не уверен, что и где находится «Диалог открытых ресурсов». Я пробовал очистить проект, но все равно получаю предупреждение о ненужном приведении ...

Svend Hansen 22.11.2012 21:12

В eclipse neon кажется, что даже запуск «mvn clean compile» (который воссоздает целевую папку) сохраняет параметр «производный».

gwnp 31.07.2017 17:57

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

Добавьте «цель» и перезапустите Eclipse.

Это только указывает вашему контролю версий игнорировать его. Никакого видимого влияния на другие операции.

Chris Noe 15.06.2010 17:13

Удаляет его из представления синхронизации команды, чего нет у других. по крайней мере, по крайней мере для меня.

Clarkey 25.06.2013 14:29

Работал на меня как шарм, работая с Кеплером.

ug_ 20.05.2014 15:39

Проблема в том, что он игнорирует любой каталог, называемый "target" где угодно. Это означает, что любые источники в org / msytuff / target игнорируются. Хорошо, может, тебе не стоит называть такие вещи, но, поскольку я работаю с чужим кодом, я не могу рискнуть ...

David Robson 02.03.2016 12:15

Перенастройте «чистый» в 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)

Это завершает ответ Зака ​​(набравший наибольшее количество голосов). Без этого обходного пути это решение бесполезно. Прекрасно работает. К сожалению, его нужно настраивать для каждого проекта.

Juan Calero 28.07.2011 17:20

Спасибо большое, это как раз то, что мне было нужно! Необходимость устанавливать флаг «производный» после каждой очистки действительно расстраивала.

Piotr Sobczyk 07.03.2012 11:04

Спасибо. На самом деле это должен быть принятый ответ, поскольку он решает настоящую проблему вопрошающего. Однако следует отметить, что excludeDefaultDirectories доступен только с версии 2.3 maven-clean-plugin: maven.apache.org/plugins/maven-clean-plugin/clean-mojo.html

lilalinux 28.01.2014 21:17

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

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

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

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

Затмение, постоянно наблюдающее за ними, - это боль.

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

Попробуйте плагин KeepTargetDerivedPlugin: sourceforge.net/projects/etinyplugins/files/…

Dan Dar3 09.06.2014 16:03

Вот что я сделал для решения этой проблемы:

  • Установите Groovy Monkey для Eclipse
  • Создан сценарий оболочки компонента «UpdateMavenDerived_Beanshell.gm», чтобы пометить любой каталог с именем target как производный.
  • ----------- Вырежьте здесь сценарий ниже --------------

    /*
     * 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);
                }
            }
        }
    }
    

    это сложнее, чем должно быть id;) но все же прилично

    Maciej Cygan 01.07.2014 14:01

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

    По сути, он будет добавлять «цель» и подпапки, чтобы исключить папку непосредственно в файл .project. После запуска этого сценария, если вы импортируете проект в eclipse, вы можете увидеть параметр «Проект» -> «Свойства» -> «Ресурс» -> «Фильтры ресурсов». Раньше всякий раз, когда я запускал 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>/' {} \;
    
    }
    

    Меня настолько разозлила эта проблема, что я написал плагин для ее решения. Вы получаете исходный код и банку из:

    https://github.com/YA2O/Eclipse_Plugin_Target_Derivator

    Ваше подключение отлично работает. Я просто сбросил его github.com/YA2O/Eclipse_Plugin_Target_Derivator/tree/master/‌… в папку eclipse / dropins / и мне пришлось изменить * .jar / icons / Pointy.gif на какой-то меньший, иначе высота панели инструментов будет слишком большой.

    OMax 26.01.2012 02:40

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

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

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

    Tested in Eclipse 4.4 (Luna), should work like this since 3.7 according to other answers here.

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

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

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

    Package Explorer MenuPackage Explorer Dialog

    Обозреватель проекта

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

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

    Project Explorer MenuProject Explorer Dialog

    К сожалению, это не удаляет его из меню открытого ресурса (ctrl + shift + r) или открытого типа (ctrl + shift + t), что по-прежнему затрудняет навигацию с клавиатуры, но оно отлично работает для представления проводника пакетов

    gwnp 31.07.2017 17:45

    Другие вопросы по теме