Какие файлы должны быть добавлены в SVN в проекте Java Eclipse? - PullRequest
11 голосов
/ 14 июня 2010

У меня есть проект Java, который я хочу добавить в свой SVN-репозиторий, созданный с помощью eclipse.

Теперь, какие файлы (кроме исходного кода, очевидно) необходимы? В корне рабочей области есть папка .settings со многими файлами и подпапками, а внутри папки проекта есть два файла - .classpath и .project и еще одна папка .settings с одним файлом - org.eclipse.jdt.core .prefs.

Какие из этих файлов должны быть переданы в SVN, а какие можно безопасно исключить?

Ответы [ 3 ]

11 голосов
/ 14 июня 2010

Они все полезны, если вы хотите, чтобы в вашей команде были единые настройки.

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

В каталоге .settings есть такие вещи, как параметры форматирования кода и то, что компилятор считает предупреждениями, ошибками или ОК. Для согласованности я также начал проверять их (если, конечно, каждый в вашей команде может согласиться со стандартом форматирования).

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

<Ч />

Редактировать: (Обращаясь к комментарию @ mliebelt ниже)

Вы можете фиксировать файлы .settings только в том случае, если вы пытаетесь поддерживать согласованность / стандартизацию между разработчиками. Если это не проблема для проекта, то не стоит беспокоиться о сохранении файлов .settings. Файлы, которые являются специфическими для любимых плагинов человека, вероятно, также не должны быть зафиксированы (хотя я не думаю, что это повредит, если бы они были, вероятно, будут проигнорированы?).

Два наиболее распространенных из них, которые я нашел заслуживающими внимания, это org.eclipse.jdt.core.prefs и org.eclipse.jdt.ui.prefs, которые являются основными для любого (Java) проекта Eclipse.

2 голосов
/ 25 мая 2011

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

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

Пример. Если вы используете Findbugs в проекте Java, в ваш проект Java добавляется новая природа. Регистрация этого файла, изменение его в другой системе (без установленного Findbugs) и последующее его повторное использование в моей системе привело к тому, что ссылка Findbugs была потеряна для меня (и, следовательно, все проверки Findbugs были удалены без вывода сообщений).

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

2 голосов
/ 14 июня 2010

Вы можете исключить папку .settings, но файл .project будет полезен для других разработчиков, которые хотят реконструировать точно такой же проект Eclipse. Если вы изучите файл, он должен иметь только относительные ссылки (если нет, вам следует изменить его как таковой).

...