Объединение банок для многомодульного проекта maven в одну банку

У меня есть родительский проект maven, который включает в себя несколько дочерних проектов и проект сборки/сборки. Структура выглядит так

ParentProj
    + pom.xml 
    + ChildProj1
        ++   pom.xml
    + ChildProj2
     ++   pom.xml
    + buildProj
     ++   pom.xml

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


person adeelmahmood    schedule 25.02.2014    source источник


Ответы (1)


В вашем проекте buildProj должны быть объявлены другие дочерние проекты как зависимости, затем вы можете настроить плагин сборки maven для использования предопределенного дескриптора jar-with-dependencies, который создает банку, содержащую зависимости.

РЕДАКТИРОВАТЬ Если вы хотите добавить банку зависимостей в свою банку, вы можете использовать что-то вроде onejar:

Для этого инструмента есть подключаемый модуль maven: https://code.google.com/p/onejar-maven-plugin/

person Hugo G.    schedule 26.02.2014
comment
есть ли способ включить все зависимости в виде jar-файлов в папку lib внутри jar-файла сборки. вместо того, чтобы сдувать все в сборочной банке - person adeelmahmood; 26.02.2014
comment
в итоге использовал это решение, которое представляет собой смесь вещей, но работает github.com/ Ларсджордж/hbase-book/дерево/мастер/ch07 - person adeelmahmood; 27.02.2014