Recientemente tuvimos un problema con un proyecto de Eclipse para uno de los miembros de nuestro equipo. Tomcat no estaba implementando JAR de la aplicación.
Eventualmente notamos que el .classpath
archivo Eclipse no era el mismo que para los miembros del equipo donde el proyecto estaba bien. Reemplazamos el .classpath
archivo con uno de un proyecto que estaba bien y la implementación de Tomcat se completó.
Sólo por curiosidad y para saber en qué buscar en el futuro si algo está mal, lo que está dentro de la .classpath
y .project
archivos. ¿Qué puedo agregar allí, qué significa todo esto?
java
eclipse
configuration-files
eclipse-wtp
Eclipse total
fuente
fuente
Respuestas:
Eclipse es un entorno de tiempo de ejecución para complementos. Prácticamente todo lo que ves en Eclipse es el resultado de complementos instalados en Eclipse, en lugar de Eclipse en sí.
La
.project
plataforma central de Eclipse mantiene el archivo y su objetivo es describir el proyecto desde una vista genérica de Eclipse independiente del complemento. ¿Cómo se llama el proyecto? ¿A qué otros proyectos en el espacio de trabajo se refiere? ¿Cuáles son los constructores que se utilizan para construir el proyecto? (recuerde, el concepto de "compilación" no pertenece específicamente a proyectos Java, sino también a otros tipos de proyectos)El
.classpath
archivo es mantenido por la función JDT de Eclipse ( característica = conjunto de complementos). JDT contiene varios de estos archivos "meta" en el proyecto (vea el.settings
directorio dentro del proyecto); El.classpath
archivo es solo uno de ellos. Específicamente, el.classpath
archivo contiene información que la función JDT necesita para compilar correctamente el proyecto: las carpetas de origen del proyecto (es decir, qué compilar); las carpetas de salida (donde para compilar a ); y entradas de classpath (como otros proyectos en el espacio de trabajo, archivos JAR arbitrarios en el sistema de archivos, etc.).Copiar a ciegas dichos archivos de una máquina a otra puede ser arriesgado. Por ejemplo, si se colocan archivos JAR arbitrarios en el classpath (es decir, archivos JAR que se encuentran fuera del espacio de trabajo y se hace referencia a ellos mediante un nombre de ruta absoluto), el
.classpath
archivo se vuelve no portátil y debe modificarse para que se pueda portátil. Hay ciertas mejores prácticas que se pueden seguir para garantizar.classpath
la portabilidad de los archivos.fuente
git
yMaven
, lo que significa que tengo (por simplicidad) la carpeta "raíz" del repositorio (proyecto) con una solasrc
carpeta (contiene un.java
archivo simple "hola mundo" ) y del proyecto depox.xml
archivo - así pues, si he entendido bien, no hay necesidad (o tal vez incluso necesariamente hay necesidad) para mantener el:.project
,.classpath
y.settings/
los archivos / carpetas también en elgit
repositorio (ie- ellos se suman a la.gitignore
de archivos, por ejemplo)?m2eclipse
se encarga de eso por usted (o, al menos, eso es lo que se supone que debe estar haciendo)..project
no debería estar adentro.gitignore
. En cuanto a.classpath
- si se utilizam2eclipse
y el espacio de trabajo está configurado para actualizar los proyectos de Maven en el arranque, entonces usted debe estar bien con la adición.classpath
a.gitignore
pero no he probado yo mismo..project
y.classpath
de todos ellos y agregué a.gitignore
. Todo funciona bien y no necesito actualizar continuamente estos archivos en Git con demasiada frecuencia..project
Cuando se crea un proyecto en el espacio de trabajo, se genera automáticamente un archivo de descripción del proyecto que describe el proyecto. El único propósito de este archivo es hacer que el proyecto se describa a sí mismo, de modo que un proyecto que esté comprimido o lanzado a un servidor pueda recrearse correctamente en otro espacio de trabajo.
.classpath
Classpath especifica qué archivos de origen Java y archivos de recursos en un proyecto son considerados por el constructor de Java y especifica cómo encontrar tipos fuera del proyecto. El generador de Java compila los archivos fuente de Java en la carpeta de salida y también copia los recursos en ella.
fuente
La referencia completa no está disponible para los archivos mencionados, ya que son ampliables por varios complementos.
Básicamente, los archivos .project almacenan la configuración del proyecto, como la configuración del generador y la naturaleza del proyecto, mientras que los archivos .classpath definen la ruta de clase que se usará durante la ejecución. Los archivos classpath contienen src y entradas de destino que se corresponden con las carpetas del proyecto; las entradas con se utilizan para describir algún tipo de entradas "virtuales", como las bibliotecas JVM o en caso de dependencias de los complementos de eclipse (las dependencias normales del proyecto Java se muestran de manera diferente, usando una entrada src especial).
fuente
Esta documentación de eclipse tiene detalles sobre las marcas en el
.project
archivo: El archivo de descripción del proyectoDescribe el
.project
archivo como:fuente