O Eclipse é um ambiente de tempo de execução para plug-ins. Praticamente tudo o que você vê no Eclipse é o resultado de plug-ins instalados no Eclipse, em vez do próprio Eclipse.
O .project
arquivo é mantido pela plataforma principal do Eclipse e seu objetivo é descrever o projeto a partir de uma visualização genérica do Eclipse, independente de plug-in. Qual o nome do projeto? a que outros projetos no espaço de trabalho ele se refere? Quais são os construtores que são usados para construir o projeto? (lembre-se, o conceito de "build" não se refere especificamente a projetos Java, mas também a outros tipos de projetos)
O .classpath
arquivo é mantido pelo recurso JDT do Eclipse ( feature = set of plugins). O JDT mantém vários desses arquivos "meta" no projeto (consulte o .settings
diretório dentro do projeto); o .classpath
arquivo é apenas um deles. Especificamente, o .classpath
arquivo contém informações que o recurso JDT precisa para compilar corretamente o projeto: as pastas de origem do projeto (ou seja, o que compilar); as pastas de saída (onde a compilar a ); e entradas do caminho de classe (como outros projetos na área de trabalho, arquivos JAR arbitrários no sistema de arquivos e assim por diante).
Copiar cegamente esses arquivos de uma máquina para outra pode ser arriscado. Por exemplo, se arquivos JAR arbitrários forem colocados no caminho de classe (ou seja, arquivos JAR localizados fora da área de trabalho e referidos pela nomeação de caminho absoluta), o .classpath
arquivo será renderizado como não portátil e deverá ser modificado para ser portátil. Existem certas práticas recomendadas que podem ser seguidas para garantir a .classpath
portabilidade do arquivo.