Maven с банками для войны, ушей и зависимостей - PullRequest
0 голосов
/ 12 марта 2012

У меня есть следующий проект: 5 (+) jar, каждый из которых строит определенные компоненты, как с общими, так и с jar-зависимыми зависимостями 1 война (которая связывает эти банки и их зависимости) 1 ухо (которое содержит войну и только война)

Как мне вписать все это в maven?

У меня была следующая настройка:

    project-root.pom
     |- generic jar dependency 1
     |- generic jar dependency 2
     |- modules
         | - jar 1 (uses generic dependencies, and a couple of others)
         | - jar 2 (uses generic dependencies, and a couple of others)
         | - war project (uses generic jars, and jar 1 and 2)
         | - ear project

Но это не работает, так как проект ear будет включать общие зависимости jar родителя в папке / lib.

Как создать такой проект в Maven?


Обновление

Я вроде обошел эту проблему, имея корневой pom, который объявляет модули для jar1, 2, war и ear, но только jar1, jar2 и war наследуют от родительского pom. Ухо проект не делает. Это правильная практика?

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Структура, которую вы набросали, дает мне другое представление о структуре вашего проекта. Позвольте мне описать это немного. Если бы я увидел структуру, подобную следующей, я бы предположил:

project-root.pom
  |- generic jar dependency 1 (parent: project-root.pom)
  |- generic jar dependency 2 (parent: project-root.pom)
  |- modules
      +-- module-pom
      | - jar 1 (uses generic dependencies, and a couple of others) (parent:module-pom)
      | - jar 2 (uses generic dependencies, and a couple of others)(parent:module-pom)
      | - war project (uses generic jars, and jar 1 and 2) (parent:module-pom)
      | - ear project (parent:module-pom)

Но вы описали в тексте взаимосвязь модуля другим способом:

root
 |- generic jar dependency 1
 |- generic jar dependency 2
 |- jar 1 (uses generic dependencies, and a couple of others)
 |- jar 2 (uses generic dependencies, and a couple of others)
 |- ear project
 |- war project (uses generic jars, and jar 1 and 2)

С помощью приведенной выше структуры вы можете просто определить зависимости в войне, как в зависимости от jar-1, jar-2. Ухо зависит только от войны. Jar-1 может зависеть от зависимости generic-jar 1 и так далее. Уровни дают наблюдателю иное представление о проекте, чем оно есть на самом деле. Таким образом, ваша структура должна представлять вашу структуру зависимости. Я не уверен, правильная ли это структура для вашего проекта, но представляю структуру (структуру папок) в соответствии с вашими зависимостями.

0 голосов
/ 12 марта 2012

Должно сработать, но вы не раскрыли содержимое вашего корня проекта pom.xml.Используете ли вы там "dependencyManagement" вместо "зависимостей"?Мне показалось бы, что вы не используете раздел «dependencyManagement», но вы должны это сделать, чтобы не передать все упомянутые там зависимости всем дочерним модулям.

...