Возможно ли, чтобы проект реактора Maven включал другой подпроект реактора в качестве модуля?

Допустим, есть проект реактора myproject с модулями:

<modules>
  <module>parent</module>
  <module>core</module>
  <module>ui</module>
  <module>config</module>
</modules>

В myproject есть еще один интеграционный тест под-проекта реактора.

<modules>
  <module>admin</module>
  <module>base</module>
  <module>rest</module>
</modules>

Итак, иерархия выглядит так:

myproject
|_ pom.xml
|_ parent
|_ core
|_ ui
|_ config
|_ integration-tests
      |_ admin
      |_ base
      |_ rest

Теперь я хочу создать модули интеграционных тестов вместе с модулями myproject. Одним из способов является добавление модулей интеграционных тестов в список модулей myproject.

Но можно ли написать:

<modules>
  <module>parent</module>
  <module>core</module>
  <module>ui</module>
  <module>config</module>
  <module>integration-tests</module>
</modules>

2 ответа

Почему вы называете это проектом реактора (хотя, если говорить технически, он обрабатывается реактором)? Официальный термин, однако, таков:

Агрегация (или мультимодуль)

3.6.2. Мультимодуль...

Да, это возможно. Для Мейвена это не проблема.

Но если вы используете Eclipse в качестве вашей IDE, он не может обрабатывать вложенные проекты слишком хорошо. Если вы, например, выберите admin проект по созданию нового класса в нем предлагает диалог создания myproject/src/main/java как исходную папку, так что вы должны адаптировать это каждый раз соответственно. Пути компоновки также не отображаются плоскими, если вы выбрали это в представлении пакета представления.

Тем не менее, вы можете решить это:

  • Создайте myproject и каждый модуль Maven ниже.
  • удалять myproject из рабочего пространства Eclipse. Оставьте флажок Удалить содержимое проекта на диске!
  • ИмпортСуществующие проекты Maven: myproject и все ниже.

В Eclipse вы можете очень хорошо импортировать иерархически ориентированный проект.

Здесь вы можете увидеть импорт иерархического проекта. Импортировать иерархический проект в Eclipse

Единственное, о чем вам нужно знать, это настроить Eclipse, чтобы он показывал это так, что можно сделать с помощью:

Настроить для просмотра иерархических проектов

Если вы настроили его таким образом, вы можете просмотреть его в представлении проектов:

иерархический вид проекта в Eclipse

Другие вопросы по тегам