Как правильно контролировать версию (svn: ignore) проект Java (Maven, Spring)?

i был на двухдневном тренинге, посвященном Java EE. Мы использовали там Java EE, Spring Framework, Maven, Springsource Tool Suite (Eclipse), Tomcat.

Я занял рабочее пространство Eclipse, которое мы там создали, и запустил его на моем рабочем ПК. У меня было, если я правильно помню, только для правильной настройки Tomcat, и он работал на моем ПК.

Теперь я хочу сохранить созданное рабочее пространство Eclipse, содержащее 5 "подпроектов" в подрывной деятельности, чтобы мои коллеги по работе могли проверить это и запустить на своих компьютерах.

Как это сделать правильно? Я нашел где-то правило svn: ignore:

.classpath
.project
.settings
target

Используя tortoiseSVN, я добавил в папку с рабочим пространством это правило игнорирования, но выяснилось, что целевой объект папок не был удален, поэтому я удалил их вручную и "добавил в список игнорирования". Но после этого проект в Spring исходном наборе инструментов не видит mevan-зависимостей (я так думаю), потому что импорт не работает. STS подчеркивает орг. в импорте и говорит, что он не может это решить.

Как правильно управлять версией такого проекта?

Ответ 1

В моем проекте мы используем Maven и Eclipse (сейчас Helios) и плагины Maven для Eclipse:

Интеграция Maven для Eclipse Интеграция Maven для WTP

У нас есть только файл pom.xml и дерево src/directory в нашей системе управления версиями. Мы не добавляем туда файлы eclipse. Затем, когда новый разработчик запускается в проекте, они импортируют → Maven → Существующие проекты Maven. Плагины Maven для Eclipse затем устанавливают идеальные пути сборки, настройки и т.д.

Таким образом, также очень легко повторно импортировать ваши проекты в Eclipse по мере необходимости.

Итак, мой совет - оставить файлы Eclipse из SVN и убедиться, что вы можете правильно настроить проект, просто импортировав проект Maven.

Ответ 2

Если я правильно понимаю вашу проблему, вам нужно настроить Eclipse, чтобы иметь возможность запускать tomcat из него. Ключ, здесь, уже не maven, но Eclipse, я думаю. Поскольку вы внесли изменения в свое рабочее пространство, которое невозможно поместить в ваш конфигурационный файл maven (pom.xml), вы становитесь зависимым от Eclipse.

Ключевым моментом здесь является то, что, поскольку вы зависимы от Eclipse, вам нужны файлы конфигурации Eclipse. Следовательно, я боюсь, что вам нужно добавить обратно .classpath, .project, .settings к вашему инструменту управления версиями... Это не общий, потому что вы заставляете людей, которые работают над вашим проектом, использовать Eclipse. Но если все в вашей команде делают это, это не должно быть проблемой.

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

EDIT: чтобы быть более точным... и, возможно, дать лучший ответ.

При использовании системы управления версиями основная цель часто (всегда?), чтобы дать всем ключам использовать источники и развиваться из них. Следовательно, вам нужно добавить свои источники VCS и все конфигурации, необходимые для их эффективного использования.

В вашем конкретном случае ключ заключается в том, что вы стали зависимыми от Eclipse через его плагин Springsource Tool Suite. Следовательно, становится необходимым добавить файлы конфигурации для этого инструмента, потому что они не могут работать без них, и если они не могут работать, вы не сможете работать.

Ответ 3

Я могу рассказать вам о моем способе subversioning проектов maven eclipse. Сначала, когда вы создаете структуру проекта, вы должны зафиксировать файлы .setting,.classpath,.project в репозитории subversion. Если вы не можете этого сделать, другие коллеги не смогут использовать структуру проекта после проверки. После того, как вы зафиксируете структуру проекта, лучший способ - не зафиксировать эти файлы, кроме тех случаев, когда вы изменяете что-то важное затмение или устанавливаете параметры пути, потому что у других будут конфликты из-за зависящей от системы информации. Никогда не фиксируйте каталог назначения maven. Извините за мой английский. Надеюсь, что это поможет.