tutorial oxygen gitflow español eclipse version-control ide

eclipse - oxygen - .classpath y.project-verificar en el control de la versión o no?



gitflow eclipse (7)

Definitivamente no; en general, es una idea terrible distribuir los archivos del proyecto a través de la subversión. Especialmente porque alguien podría modificarlos de una manera extraña. Una buena página en la documentación del proyecto es una idea mucho mejor. Nuestro proyecto también tiene muchos módulos y una configuración compleja. Hemos configurado una página de confluencia que describe cómo comenzar con el proyecto en cada IDE de populer: IntelliJ, Eclipse, NetBeans. Un archivo README en Subversion contiene la misma información.

Estoy ejecutando un proyecto Java de código abierto que consta de varios módulos en un árbol de dependencias. Todos esos módulos son subdirectorios en un repositorio de subversión. Para los recién llegados a nuestro proyecto, es mucho trabajo configurarlo todo en eclipse.

No todos nuestros desarrolladores usan eclipse. Sin embargo, estamos considerando simplemente verificar los archivos .classpath y .project para ayudar a los recién llegados a comenzar. ¿Es esta una buena idea? ¿O eso llevaría a conflictos constantes en esos archivos? ¿Hay alguna manera alternativa de hacer que el proyecto sea fácil de configurar en eclipse?


Definitivamente sí, como dije en " ¿Mantiene sus archivos de proyecto bajo control de versión? "

"Carguelo, configúralo, ve".

Pero ... esto es cierto solo para las configuraciones recientes de Eclipse3.5, donde las rutas de compilación admiten rutas relativas :

Y Eclipse3.6 sería mejor, ya que admite rutas relativas para variables de ruta en Linked Resources :


(desde 3.6M5)


En mi experiencia, excluyendo los casos limitados en los que están involucrados ajustes puramente locales, todo debería estar en control de fuente. La ley del control de la fuente es que debe esperarse que todo lo que se empuja funcione para aquellos que se retiran. Desafortunadamente, el eclipse a menudo hace que cosas como esta estén en .classpath :

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7"/>

Así que en mi Mac esto funciona, y tal vez alguien en una Mac tiene el mismo JRE, pero esto no funcionará para nadie más.

Además, no hay una forma fácil de evitar esto. Eclipse siempre agregará eso. QUIERO tener el archivo .classpath ahí, porque hay algunos JAR de terceros en nuestra carpeta lib donde nos importan las versiones, así que los dejamos ahí para que los nuevos desarrolladores no tengan que obtenerlos . Nos estamos moviendo a un sistema administrado, pero todavía tenemos dependencias administradas + no administradas registradas. Esto significa que todos los desarrolladores solo tienen que asegurarse de que dos directorios estén en sus .classpath s. Pero es mejor que tener que arreglar tu JRE cada vez que realizas una extracción y tener un cambio en tu .classpath cada vez que te comprometas.

Sin embargo, Eclipse hace otras cosas buenas para ti. El archivo .project generalmente será el mismo en todas las instancias, así que inclúyalo. Pero lo mejor del control de origen para eclipse es la configuración de configuraciones de ejecución. Debajo de la pestaña "Común" en el diálogo Ejecutar Configuraciones, guarde las configuraciones para que aparezcan para sus colegas bajo las listas de favoritos para Depurar y Ejecutar. Para mí, un grupo de archivos .launch van en el directorio .settings , para que todos podamos usarlos.

Así que digo: el directorio .settings entra en el control de código fuente para las configuraciones de inicio (excepto * .prefs)

.classpath queda fuera

.project entra.


Le recomendaría que compruebe los archivos en subversión SI no contienen rutas absolutas y otros datos que los relacionen directamente con el entorno de un único desarrollador.

Si los archivos contienen rutas absolutas y similares, un LÉAME sería una mejor opción.


Sí, definitivamente verifíquelos, pero asegúrese de documentar cualquier dependencia de ruta y evitar rutas absolutas si es posible.

Si no los registra, entonces cualquier persona que verifique el proyecto tendrá que volver a crear todos esos ajustes, lo que es molesto y potencialmente propenso a errores.

Algunas configuraciones complejas pueden manejarse mejor con un script para generar estos archivos, pero generalmente es mejor simplemente ingresarlas.


Verificaría esos archivos para comenzar lo más fácil posible para los nuevos usuarios. En el mejor de los casos, el usuario debería verificar el proyecto y debería poder ejecutarlo sin conocimientos adicionales. Para estos archivos, las reglas son las mismas que para otros archivos del proyecto: trátelos con cuidado. No debe aplicar pathes absolutos en el código fuente, ni siquiera debe hacerlo en los archivos de configuración.

Si los archivos se registran de forma que el proyecto se ejecute desde cero, no debería haber muchas fuerzas para cambiarlos.


Yo voto no, pero eso es porque generalmente generaría estos archivos de maven