2011-08-25 3 views
107

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

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

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

+0

Является ли файл .classpath для Java? Этот вопрос кажется в основном языковым агностиком, но из [этого ответа] (https://stackoverflow.com/questions/7186676/whats-in-an-eclipse-classpath-project-file/14080054#14080054) звучит так, как будто это только для Java. – Darthfett

ответ

9

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

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

26

.project

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

.classpath

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

111

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

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

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

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

+20

Как посторонний человек ко всему этому, все это означает, что «Eclipse каким-то образом удается сделать все, что касается управления рабочим пространством проекта, в непостижимом черном искусстве, которое слишком сложно понять кому-либо». –

1

Эта документация затмение содержит информацию о наценки в .project файле: The project description file

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

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

Смежные вопросы