Используя Знатока заштриховывают плагин во много проекте модуля - NullPointerException

У меня есть сценарий, где я должен создать uber банку много проекта знатока модуля включая все модули и их зависимости. Я пытался использовать плагин оттенка знатока. но это, кажется, работает только, когда я использую его на уровне модуля. Если я добавляю сменную запись в родительском англичанине затем повреждения сборки (она пытается заштриховать родительского англичанина),

 [INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing null with C:\Projects\foo.bar\target\foobar-0.0.1-SNAPSHOT-shaded.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error creating shaded jar: null: NullPointerException -> [Help 1]

Это, действительно кажется, имеет смысл начиная с <packaging> для родительского знатока проект является англичанином. Но должен быть некоторый способ создать uber банку для много проекта модуля... Какие-либо люди идей???

12
задан Tunaki 18 March 2016 в 21:30
поделиться

1 ответ

Вы не должны использовать POM-файл родительского проекта для попытки затенения; для этого следует использовать отдельный проект-агрегатор. Родительские проекты maven используются для наследования, в то время как проекты агрегаторов используются для выполнения агрегированных функций над группой подпроектов; как объединить их JAR-файлы в убер-банку. Этот проект будет просто файлом pom в корневом каталоге вашего проекта (на том же уровне, что и папки всех подмодулей), который ссылается на подпроекты и имеет конфигурацию плагина затенения. Убедитесь, что упаковка, указанная для этого помпона, - это JAR.

Вот документация , объясняющая отношения POM и различие между агрегированием и наследованием.

13
ответ дан 2 December 2019 в 18:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: