Как наилучшим образом настроить / импортировать SVN-проект с несколькими модулями maven? - PullRequest
4 голосов
/ 16 сентября 2011

Я использую Eclipse (3.4.2 *), m2eclipse (0.9.8), Subversive (0.7.9) и SVNKit (1.6.10) на 64-битном ПК с Windows 7.

Может ли кто-нибудь дать совет о том, как настроить (импортировать, действительно) многомодульный проект Maven в Eclipse, при этом выполняя ниже требования?

  1. Eclipse должен поддерживать один проект для каждого подмодуля, в соответствии с общими рекомендациями (если я правильно помню, подрывный плагин даже не поддерживает вложенные модули в одном проекте).

  2. Eclipse должен распознавать все java-файлы как надлежащие java-классы (т. Е. Они должны быть доступны с помощью диалогового окна «Открыть тип», а также всех других нормальных java-функций в Eclipse, таких как отображение иерархии типов / вызовов).

  3. Все целевые папки и файлы и папки .svn должны быть исключены при использовании поиска файлов или диалогового окна «Открыть ресурс», а все svn-папки должны быть исключены / скрыты в навигаторе.

  4. «Открытый ресурс» не должен отображать ни одного файла более одного раза.

  5. Когда я открываю файл с помощью диалогового окна «Открыть ресурс» или «Открыть тип», я должен видеть svn-history для него.

  6. Я должен быть в состоянии сделать svn-переключатель для всего проекта maven (т.е. включая все подмодули) за один шаг.

Структура проекта, простыми словами:

<main project folder>
|
|
---- pom.xml
|
|
---- module 1
|    |
|    |
|    --- pom.xml
|    --- src/main/java
|
---- module 2
[...]

Основная проблема, с которой я столкнулся, связана с требованием 2. Кажется, что Eclipse не понимает, что java-файлы являются правильными java-классами, если только он не находит их в подмодулях. Для этого, несмотря на то, что все еще выполняется требование 4, я должен исключить кучу папок в основном проекте затмения при настройке моего рабочего набора. Но затем я нарушаю требование 5, так как Eclipse откроет файл Java в проекте подмодуля, и этот проект не подключен к SVN. И если я попытаюсь исправить это, подключив проект подмодуля к SVN, я нарушу требование 6 (если я сделаю swich по основному проекту, проекты подмодуля все еще будут думать, что они подключены к старой ветви / соединительной линии).

Есть мысли / предложения? Изменение основной структуры проекта не вариант. Я попытался найти предыдущие обсуждения по этой теме, но все они, кажется, охватывают только часть проблемы (например, «как мне скрыть файлы / папки SVN в Eclipse?» Или «Открытый тип не находит некоторые классы») и Ни один из них не охватывает весь промежуток проекта eclipse + SVN + maven с субмодулями.

* Причина, по которой я до сих пор использую эту версию, заключается в том, что, насколько я знаю, не существует простой, готовой к обновлению функции для самой платформы Eclipse (то есть для версии 3.4.x), и я Ненавижу выполнять новую установку, а затем вручную настраивать все так, как я хочу, и устанавливать все плагины.

1 Ответ

3 голосов
/ 16 сентября 2011

Я думаю, что если вы сделаете следующее, вы получите все, что вы хотите.

  1. Из репозитория изучить извлечение родительского проекта. То есть тот, который содержит модули.
  2. После проверки проект не будет выглядеть правильно, поэтому удалите его. НЕ удаляйте источники.
  3. Затем выполните файл> импорт и импорт папки родительского проекта.

Затем вы должны рассматривать родительский модуль и модули как отдельные проекты, и большинство (если не все) перечисленные вами требования должны быть выполнены.

...