Что находится в файле Eclipse .classpath / .project? - PullRequest
128 голосов
/ 25 августа 2011

Недавно у нас возникла проблема с проектом Eclipse для одного из членов нашей команды.Tomcat не развертывал JAR-файлы приложения.

В конечном итоге мы заметили, что файл Eclipse .classpath отличается от файла команды, в которой проект был в порядке.Мы заменили файл .classpath файлом из проекта, который был в порядке, и развертывание Tomcat было завершено.

Просто из любопытства и чтобы узнать, что посмотреть в будущем, если что-то не так, что находится внутри файлов .classpath и .project.Что я могу добавить туда, что все это значит?

Ответы [ 4 ]

128 голосов
/ 29 декабря 2012

Eclipse - среда выполнения для плагинов. Практически все, что вы видите в Eclipse, является результатом установки плагинов на Eclipse, а не самого Eclipse.

Файл .project поддерживается базовой платформой Eclipse, и его цель - описать проект из общего, независимого от подключаемых модулей представления Eclipse. Как называется проект? к каким другим проектам в рабочей области это относится? Какие строители используются для построения проекта? (помните, концепция «сборки» относится не только к Java-проектам, но и к другим типам проектов)

Файл .classpath поддерживается функцией JDT Eclipse ( функция = набор плагинов). JDT содержит несколько таких «мета» файлов в проекте (см. Каталог .settings внутри проекта); файл .classpath является лишь одним из них. В частности, файл .classpath содержит информацию, которая нужна функции JDT для правильной компиляции проекта: исходные папки проекта (то есть что компилировать); папки вывода (куда компилировать до ); и записи пути к классам (такие как другие проекты в рабочей области, произвольные файлы JAR в файловой системе и т. д.).

Слепое копирование таких файлов с одного компьютера на другой может быть рискованным. Например, если произвольные JAR-файлы размещены в пути к классам (то есть JAR-файлы, расположенные вне рабочей области и именуемые именами абсолютных путей), файл .classpath представляется непереносимым и должен быть изменен в чтобы быть портативным. Существуют определенные рекомендации, которые можно использовать, чтобы гарантировать .classpath переносимость файлов.

31 голосов
/ 29 декабря 2012

.project

Когда проект создается в рабочей области, автоматически создается файл описания проекта, который описывает проект.Единственная цель этого файла - сделать самоописание проекта таким образом, чтобы проект, который был заархивирован или выпущен на сервер, мог быть правильно воссоздан в другом рабочем пространстве.

.classpath

Classpath указывает, какие исходные файлы Java и файлы ресурсов в проекте рассматриваются компоновщиком Java, и указывает, как находить типы вне проекта.Построитель Java компилирует исходные файлы Java в выходную папку, а также копирует в нее ресурсы.

10 голосов
/ 25 августа 2011

Полная ссылка недоступна для упомянутых файлов, так как они могут быть расширены различными подключаемыми модулями.

По существу, файлы .project хранят настройки проекта, такие как настройки компоновщика и природы проекта, в то время как .classpathфайлы определяют путь к классу для использования во время работы.Файлы classpath содержат записи src и target, которые соответствуют папкам в проекте;записи con используются для описания неких «виртуальных» записей, таких как библиотеки JVM или в случае зависимостей подключаемых модулей eclipse (обычные зависимости проекта Java отображаются по-разному с использованием специальной записи src).

2 голосов
/ 03 ноября 2017

В этой документации затмения есть подробности о разметках в .project файле: Файл описания проекта

Он описывает файл .project как:

Когда проект создается в рабочей области, автоматически создается файл описания проекта, который описывает проект. Цель этого файла - создать описание проекта, чтобы проект, который был заархивирован или выпущен на сервер, мог быть правильно воссоздан в другом рабочем пространстве. Этот файл всегда называется ".project"

...