gradle - Gradle:如何将输出jar文件添加到现有war文件中

标签 gradle war

我有一个有效的gradle构建文件,它将一个jar文件构建到/ build / libs目录中。这很好。但是,我想添加一个任务,将这个jar文件打包到现有的war文件中(放入WEB-INF / libs目录中)。如何添加此任务?

最佳答案

我这样做如下:

def originalWar = file("../release/${sesame_version}/war/openrdf-sesame.war")
def outputDir = "./build/war"
def outputDirSesame = "$outputDir/sesame"

task extractWar(type: Copy) {
    from zipTree(originalWar)
    into "$outputDirSesame"
    outputs.upToDateWhen { false }
}

task copyJar(type: Copy, dependsOn: extractWar) {  
    from "./build/libs"
    into "$outputDirSesame/WEB-INF/lib"
    outputs.upToDateWhen { false }
}

task buildWar(type: Zip, dependsOn: copyJar) {
    archiveName "openrdf-sesame.war"
    destinationDir file("$outputDir")
    from "$outputDirSesame"
    outputs.upToDateWhen { false }
}

build.dependsOn buildWar

关于gradle - Gradle:如何将输出jar文件添加到现有war文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31519425/

相关文章:

java - Maven 或 Gradle 构建类型/变体

java - 从命令行在 Java WAR 上下文中运行代码

tomcat - 为什么 Apache Tomcat Maven 插件上传 WAR 文件两次?

java - 将Web应用程序部署到URL的过程

android - android studio 3.4.2 gradle项目同步失败错误,无法解决依赖关系错误?

android - 如何解决gradle构建过程中的资源问题?

android - 将 Ant Library 项目添加到我的 Gradle 项目中

gradle - 如何将依赖项添加到我的自定义 Gradle 插件?

apache - 当tomcat中的 war 停止时如何自动重定向到另一个页面