Повторяющиеся имена файлов Gradle Shadow в банке - PullRequest
1 голос
/ 05 февраля 2020

Я пытаюсь перейти от сборки Ant к сборке Gradle. Я использую Shadow (com.github.jengelman.gradle.plugins:shadow:5.2.0) для создания своего проекта. Мой проект включает в себя 3 Apache зависимости Axiom:

implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-api', version: '1.2.13'
implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-dom', version: '1.2.13'
implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-impl', version: '1.2.13'

Конфигурация Shadow выглядит следующим образом:

shadowJar {
    baseName = project.name
    classifier = ''
    archiveVersion = ''
    exclude "META-INF/*.SF"
    exclude "META-INF/*.DSA"
    exclude "META-INF/*.RSA"
}

Когда эти банки создаются с моим проектом Ant, я получаю 2 axiom.xml файлов в META-INF в банке. Оба отличаются.

Ant axiom.xml

Когда я строю с Shadow, я получаю последний из двух axiom.xml файлов. Первый файл перезаписывается последним.

Gradle axiom.xml

Это вызывает ошибку во время выполнения. Как я могу заставить Shadow включать файлы с дублирующимися именами файлов, а не просто перезаписывать их?

...