¿Qué hay en un archivo .classpath / .project de Eclipse?

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 archivo .classpath Eclipse no era el mismo que para los miembros del equipo donde el proyecto estaba bien. Reemplazamos el archivo .classpath con uno de un proyecto que estaba bien y se completó el despliegue de Tomcat.

Solo por curiosidad y para saber qué buscar en el futuro si algo está mal, qué hay dentro de los archivos .classpath y .project . ¿Qué puedo agregar allí, qué significa todo esto?

    Eclipse es un entorno de tiempo de ejecución para complementos. Prácticamente todo lo que ve en Eclipse es el resultado de los complementos instalados en Eclipse, en lugar de Eclipse.

    El archivo .project es mantenido por la plataforma central de Eclipse, y su objective es describir el proyecto desde una vista de Eclipse genérica e independiente del complemento. ¿Cuál es el nombre del 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 “comstackción” no pertenece específicamente a los proyectos de Java, sino también a otros tipos de proyectos)

    El archivo .classpath se mantiene mediante la función JDT de Eclipse ( función = conjunto de complementos). JDT contiene varios de estos archivos “meta” en el proyecto (consulte el directorio .settings dentro del proyecto); el archivo .classpath es solo uno de ellos. Específicamente, el archivo .classpath contiene información que necesita la característica JDT para comstackr correctamente el proyecto: las carpetas de origen del proyecto (es decir, qué comstackr); las carpetas de salida (donde comstackr); y entradas classpath (como otros proyectos en el espacio de trabajo, archivos JAR arbitrarios en el sistema de archivos, etc.).

    Copiar ciegamente dichos archivos de una máquina a otra puede ser riesgoso. Por ejemplo, si los archivos JAR arbitrarios se colocan en la ruta de clase (es decir, archivos JAR que se encuentran fuera del área de trabajo y se denominan nombres de ruta absolutos), el archivo .classpath se vuelve no portátil y debe modificarse en orden ser portátil. Existen ciertas mejores prácticas que se pueden seguir para garantizar la portabilidad de archivos .classpath .

    .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 autodescriba, de modo que un proyecto que esté comprimido o liberado en un servidor pueda recrearse correctamente en otro espacio de trabajo.

    .classpath

    Classpath especifica qué archivos fuente y archivos de recursos de Java en un proyecto son considerados por el generador de Java y especifica cómo encontrar tipos fuera del proyecto. El constructor de Java comstack los archivos fuente de Java en la carpeta de salida y también copia los recursos en él.

    La referencia completa no está disponible para los archivos mencionados, ya que son extensibles por varios complementos.

    Básicamente, los archivos .project almacenan las configuraciones del proyecto, como el constructor y la configuración de la naturaleza del proyecto, mientras que los archivos .classpath definen la classpath 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 usan para describir algún tipo de entradas “virtuales”, como las librerías JVM o en el caso de las dependencias de los plug-ins de eclipse (las dependencias normales del proyecto Java se muestran de forma diferente, usando una entrada src especial).

    La documentación de este eclipse contiene detalles sobre las .project en el archivo .project : El archivo de descripción del proyecto

    Describe el archivo .project como:

    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 propósito de este archivo es hacer que el proyecto se autodescriba, de modo que un proyecto que esté comprimido o liberado en un servidor pueda recrearse correctamente en otro espacio de trabajo. Este archivo siempre se llama “.project”