java - problemas - ¿Hay alguna manera de ocultar la carpeta Maven 2 "target/" en Eclipse 3?
maven no funciona (12)
¿Estás usando el plugin Maven para Eclipse?
Me imagino que ocultaría algo de la "contaminación" para ti.
También le permitiría realizar la compilación dentro de Eclipse, lo que significa que actualizaría la vista del proyecto por usted al mismo tiempo.
Estoy usando maven 2.0.9 con Eclipse 3.3.2.
Estoy acostumbrado a lanzar una compilación nueva una vez al día con una mvn clean install
. Luego, si actualizo mi proyecto de Eclipse, estará "contaminado" por archivos del directorio de destino de Maven.
Eso es muy molesto al realizar búsquedas, obtener recursos por "recurso abierto", etc.
¿Hay alguna forma de evitar que Eclipse busque en esta carpeta?
Para resolver este problema aquí es lo que hice:
----------- Corte debajo aquí para el 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);
}
}
}
}
¿Intentó configurar el cuadro de diálogo de la opción "Filtros de Elemento Java", (a través de la flecha superior derecha del explorador del proyecto)?
Si es necesario, puede definir su propio ViewerFilter
El complemento maven no oculta el directorio de destino. Sin embargo, utiliza las carpetas de destino maven para configurar eclipse. De modo que target / classes y target / test-classes son utilizados por eclipse, y eclipse filtra estas carpetas. Esto se hace por "mvn eclipse: eclipse" y por el plugin m2eclipse. Lo que queda visible es todo en el directorio de destino además de estas dos carpetas (el archivo jar generado, por ejemplo).
Puede crear un filtro para el explorador de paquetes, pero eso no influirá en el "recurso abierto".
Preferencias> Equipo> Recursos ignorados
Agregue "objetivo" y reinicie Eclipse.
Reconfigurar "limpiar" en Maven para no eliminar el directorio de destino:
<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>
(encontrado en: http://maven.40175.n5.nabble.com/how-to-NOT-delete-target-dir-td3389739.html#a3413930 )
Cuando Eclipse se congela, al observar la actividad del proceso, puedo ver que explora todos mis directorios de destino, .hg y .git. Además, esos directorios también se copian en el directorio bin de Eclipse. Mucho uso de CPU y disco para nada.
No limpiar el directorio de destino no es una solución aceptable.
Hubo una solución usando un script Monkey (http://maven.40175.n5.nabble.com/Eclipse-amp-target-directory-td72354.html) pero el proyecto se cerró.
Todavía busco una solución para decirle a Eclipse que ignore los directorios de destino de Maven, así como los directorios .hg y .git.
Eclipse viendo continuamente esos es un dolor.
También uso m2eclipse pero no resuelve ese problema.
Haga clic derecho en la carpeta que desea ignorar, abra el cuadro de diálogo "Propiedades", elija la pestaña "Recurso" y marque la casilla que dice "Derivado"
El uso del filtro de recursos parece resolver el problema si usa ''mvn clean install'' con frecuencia.
Básicamente agregará ''destino'' a las subcarpetas para excluir la carpeta directamente al archivo .project. Después de ejecutar este script, si importa un proyecto a eclipse, puede ver la configuración ''Proyecto'' -> ''Propiedades'' -> ''Recurso'' -> ''Filtros de recursos''. Antes de esto cada vez que ejecuto mvn clean install, eclipse tomó el 50% de mi CPU, pero ahora se mantiene por debajo del 5% mientras se construye el proyecto.
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>/'' {} /;
}
He estado tan enojado con este problema que escribí un complemento para resolverlo. Obtienes la fuente y el frasco de:
Solución para Indigo [SR2]
Project Explorer
> Customize View
> Filters
> [*] Maven Build Folder
Tuve algunos problemas porque algunas soluciones aquí solo funcionan para algunas vistas, así que hice un resumen ilustrado.
Probado en Eclipse 4.4 (Luna), debería funcionar así desde 3.7 según otras respuestas aquí.
Paquete Explorer
Menú Vista del Explorador de paquetes → Filters...
→ verifique los Name filter patterns
y el target
entrada.
Tenga cuidado, esto ocultará todas las carpetas y archivos llamados target
, ¡no solo el directorio de construcción Maven predeterminado! La vista Explorador de proyectos tiene una mejor opción sin este problema.
Proyecto Explorer
Menú de visualización del Explorador de proyectos → Custom View...
→ busque "maven" y compruebe la Maven build folder
.
Al marcar esta opción, se oculta el directorio de compilación como se define en la configuración pom.xml de los proyectos.