Zara
Zara

Reputation: 43

War task of Gradle build adding extra jars than those from dependencies in build.gradle

We have recently migrated to Gradle build and I have added a war that task that has web.xml and dependent jars along with jar created in the jar task.

task testWar(type: War)
{
archiveName 'test.war'
webXml = file('WebContent/WEB-INF/web.xml')

into ('WEB-INF/lib')
    {
        from configurations.compile
        from jar
    }
}

This creates the war but the size of WEB-INF/lib is double the size of the libs actually given in dependencies. It might be adding the jars that the dependent jars depend on. But Ant build just works fine with just the dependent jars.

Is there any way to create war with just the jars provided in dependencies?

Note: https://docs.gradle.org/current/userguide/war_plugin.html didnt help as I need all the jars in dependencies, just want to avoid extra dependent jars

Upvotes: 0

Views: 366

Answers (1)

user3038039
user3038039

Reputation: 66

You can use gradle dependencies to know which libraries are causing the inclusion of these additional dependencies.

Once you have that then simply exclude the dependency you want to remove from your package.

dependencies {
    compile (group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.0') {
        exclude group: 'org.slf4j', module: 'slf4j-api'
    }
}

Upvotes: 0

Related Questions