#gradle #dependencies #war
#gradle #зависимости #Война
Вопрос:
Недавно мы перешли на сборку Gradle, и я добавил задачу war, которая имеет web.xml и зависимые банки вместе с jar, созданными в задаче jar.
task testWar(type: War)
{
archiveName 'test.war'
webXml = file('WebContent/WEB-INF/web.xml')
into ('WEB-INF/lib')
{
from configurations.compile
from jar
}
}
Это создает войну, но размер WEB-INF / lib в два раза превышает размер библиотек, фактически заданных в зависимостях. Это может быть добавление банок, от которых зависят зависимые банки. Но сборка Ant отлично работает только с зависимыми банками.
Есть ли какой-либо способ создать войну, используя только банки, предоставленные в зависимостях?
Примечание: https://docs.gradle.org/current/userguide/war_plugin.html не помогло, так как мне нужны все банки в зависимостях, просто хочу избежать дополнительных зависимых банок
Ответ №1:
Вы можете использовать gradle dependencies
, чтобы узнать, какие библиотеки вызывают включение этих дополнительных зависимостей.
Как только у вас это получится, просто исключите зависимость, которую вы хотите удалить из своего пакета.
dependencies {
compile (group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.0') {
exclude group: 'org.slf4j', module: 'slf4j-api'
}
}