Gradle - 如何强制依赖项进入 WEB-INF/lib
Gradle - How to force dependencies into the WEB-INF/lib
我希望将依赖项 jar 复制到 war 文件的 WEB-INF/lib
目录中,无论它们是否可传递项目。有办法实现吗?
我的 build.gradle
在下面,我尝试了多种选择。有没有办法确保一组特定的罐子出现在 war 无论如何?
build.gradle
plugins {
id 'war'
}
war {
manifest { attributes("Class-Path": "resources/") }
version = null
}
//Does not contain the jackson libraries
providedCompile project(":components:Manager")
dependencies {
//Doesn't work
implementation libraries.jackson_core
implementation libraries.jackson_databind
implementation libraries.jackson_annotations
providedCompile(
//Doesn't work
libraries.jackson_core,
libraries.jackson_databind,
libraries.jackson_annotations,
///
libraries.mybatis,
libraries.mybatis_cdi,
libraries.javax_ejb,
libraries.javax_rs
)
compile "javax:javaee-api:$jeeVersion" //The only jar that appears in the WEB-INF/lib folder
//Doesn't work
compile(
libraries.jackson_core,
libraries.jackson_databind,
libraries.jackson_annotations,
)
}
通过设置自定义 warLib
configuration
解决了我的问题
plugins {
id 'war'
}
configurations {
warLib
}
providedCompile project(":components:Manager")
dependencies {
providedCompile(
libraries.mybatis,
libraries.mybatis_cdi,
libraries.javax_ejb,
libraries.javax_rs
)
compile "javax:javaee-api:$jeeVersion"
warLib libraries.jackson_databind
}
war {
classpath configurations.warLib
manifest { attributes("Class-Path": "resources/") }
version = null
}
我希望将依赖项 jar 复制到 war 文件的 WEB-INF/lib
目录中,无论它们是否可传递项目。有办法实现吗?
我的 build.gradle
在下面,我尝试了多种选择。有没有办法确保一组特定的罐子出现在 war 无论如何?
build.gradle
plugins {
id 'war'
}
war {
manifest { attributes("Class-Path": "resources/") }
version = null
}
//Does not contain the jackson libraries
providedCompile project(":components:Manager")
dependencies {
//Doesn't work
implementation libraries.jackson_core
implementation libraries.jackson_databind
implementation libraries.jackson_annotations
providedCompile(
//Doesn't work
libraries.jackson_core,
libraries.jackson_databind,
libraries.jackson_annotations,
///
libraries.mybatis,
libraries.mybatis_cdi,
libraries.javax_ejb,
libraries.javax_rs
)
compile "javax:javaee-api:$jeeVersion" //The only jar that appears in the WEB-INF/lib folder
//Doesn't work
compile(
libraries.jackson_core,
libraries.jackson_databind,
libraries.jackson_annotations,
)
}
通过设置自定义 warLib
configuration
plugins {
id 'war'
}
configurations {
warLib
}
providedCompile project(":components:Manager")
dependencies {
providedCompile(
libraries.mybatis,
libraries.mybatis_cdi,
libraries.javax_ejb,
libraries.javax_rs
)
compile "javax:javaee-api:$jeeVersion"
warLib libraries.jackson_databind
}
war {
classpath configurations.warLib
manifest { attributes("Class-Path": "resources/") }
version = null
}