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




Вы используете плагин Maven для Eclipse?
Я полагаю, это скроет для вас некоторую часть «загрязнения».
Это также позволит вам выполнить сборку в Eclipse, то есть одновременно с этим обновится вид проекта.
Я использую его, но он не скрывает содержимое целевой папки. Мне подходит техника "Derived".
Плагин maven не скрывает целевой каталог. Однако он использует целевые папки maven для настройки eclipse. Таким образом, классы target / classes и target / test используются eclipse, а eclipse отфильтровывает эти папки. Это делается с помощью "mvn eclipse: eclipse", а также плагина m2eclipse. Остается видимым все, что находится в целевом каталоге, кроме этих двух папок (например, сгенерированный файл jar).
Вы можете создать фильтр для проводника пакетов, но это не повлияет на «открытый ресурс».
Вы пытались настроить диалоговое окно параметров «Фильтры элементов Java» (с помощью стрелки вверху справа в проводнике проекта)?
При необходимости вы можете определить свой собственный ViewerFilter
Я пробовал это несколько недель назад, но не смог получить то, что хочу.
Щелкните правой кнопкой мыши папку, которую вы хотите игнорировать, откройте диалоговое окно «Свойства», выберите вкладку «Ресурс» и установите флажок «Производный».
Единственная проблема с этим методом заключается в том, что если вы когда-либо вызываете maven eclipse: clean, вам придется повторно применить изменения вашего проекта. знак равно
Щелкните папку правой кнопкой мыши, затем выберите СВОЙСТВА, затем отметьте «Производные». По крайней мере, это то, что вам нужно делать с Галилео.
Если это не работает, убедитесь, что вы удалили все элементы истории в диалоге открытия ресурсов ...
@paulgreg: отметьте этот ответ как принятый, пожалуйста. подтверждена работа над Eclipse Helios 3.6 SR2
Этот не, кажется, работает для меня, однако я не уверен, что и где находится «Диалог открытых ресурсов». Я пробовал очистить проект, но все равно получаю предупреждение о ненужном приведении ...
В eclipse neon кажется, что даже запуск «mvn clean compile» (который воссоздает целевую папку) сохраняет параметр «производный».
Настройки> Команда> Игнорируемые ресурсы
Добавьте «цель» и перезапустите Eclipse.
Это только указывает вашему контролю версий игнорировать его. Никакого видимого влияния на другие операции.
Удаляет его из представления синхронизации команды, чего нет у других. по крайней мере, по крайней мере для меня.
Работал на меня как шарм, работая с Кеплером.
Проблема в том, что он игнорирует любой каталог, называемый "target" где угодно. Это означает, что любые источники в org / msytuff / target игнорируются. Хорошо, может, тебе не стоит называть такие вещи, но, поскольку я работаю с чужим кодом, я не могу рискнуть ...
Перенастройте «чистый» в 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)
Это завершает ответ Зака (набравший наибольшее количество голосов). Без этого обходного пути это решение бесполезно. Прекрасно работает. К сожалению, его нужно настраивать для каждого проекта.
Спасибо большое, это как раз то, что мне было нужно! Необходимость устанавливать флаг «производный» после каждой очистки действительно расстраивала.
Спасибо. На самом деле это должен быть принятый ответ, поскольку он решает настоящую проблему вопрошающего. Однако следует отметить, что excludeDefaultDirectories доступен только с версии 2.3 maven-clean-plugin: maven.apache.org/plugins/maven-clean-plugin/clean-mojo.html
Когда 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/…
Вот что я сделал для решения этой проблемы:
----------- Вырежьте здесь сценарий ниже --------------
/*
* 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;) но все же прилично
Использование фильтра ресурсов решает проблему, если вы часто используете 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 на какой-то меньший, иначе высота панели инструментов будет слишком большой.
Решение для Индиго [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 по умолчанию! Представление Обозреватель проекта имеет лучший вариант без этой проблемы.


Меню просмотра Project Explorer → Custom View... → найдите "maven" и проверьте Maven build folder.
Выбор этого параметра скрывает каталог сборки, как определено в конфигурации проекта pom.xml.


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