Какова хорошая структура проекта Maven при разработке в Eclipse? - PullRequest
1 голос
/ 06 декабря 2011

Я новичок в Maven. У меня есть два проекта. Я хочу такое дерево:
project1
--pom.xml
project2
--pom.xml
pom.xml

, что означает, что я выполнил агрегацию и наследование. Сделав так и импортировав два проекта в eclipse, второй проект не увидит зависимости junit, которая указана во внешнем общем pom.xml. Проблема с первым проектом заключается в том, что вместо пакетов я вижу только папки.

Ответы [ 3 ]

0 голосов
/ 06 декабря 2011

Как сказал MykoB, убедитесь, что common pom.xml имеет project1 и project2, определенные как modules.В каждом дочернем проекте укажите common pom.xml как parent.

Выберите папку, содержащую родительский pom.xml, при импорте проекта в Eclipse, и вы должны иметьparent и оба дочерних модуля были импортированы правильно.

Предполагается, что у вас установлена ​​последняя версия Eclipse Indigo с плагином m2e.

0 голосов
/ 06 декабря 2011

То, что вы создали, - это правильная структура модуля Maven по умолчанию, но Eclipse любит, чтобы все его проекты были на одном уровне. То есть ваш корневой файл pom.xml, содержащий записи модуля, должен находиться в отдельной папке, например:

WorkspaceFolder
\_project1 
   \_pom.xml 
\_project2 
   \_pom.xml
\_Builder 
   \_pom.xml
\_Parent
   \_pom.xml

В конструкторе pom.xml есть записи модуля, которые выглядят как <module>../project1</module>. Это ваша часть агрегации. Кроме того, если вы хотите иметь родительский pom для наследования (что не обязательно связано с наличием pom с модулями), вам нужно добавить запись Parent в project1, project2 и pom.xml в Builder, и вам потребуется иметь <relativePath>../Parent</relativePath>.

Обратите внимание, что все относительные пути проистекают из проблемы, заключающейся в том, что вы адаптируете структуру своей подпапки к тому, что любит затмение.

0 голосов
/ 06 декабря 2011

Попробуйте использовать Package Explorer в Eclipse, чтобы увидеть пакеты вместо папок. Также для этого вида наследования попробуйте добавить оба проекта в один родительский проект и импортировать этот в Eclipse. В обоих .pom файлах проектов необходимо указать их родительский проект

...