Java Gradle:解包war、应用定制和重新打包war

Java Gradle:解包war、应用定制和重新打包war,java,groovy,gradle,Java,Groovy,Gradle,我在artifactory上发布了一个第三方打包的war。我需要创建一个gradle作业,从artifactory获取war,将其分解到一个临时目录,向war文件添加一些自定义库(JAR),然后重新打包并将其发布到artifactory中的另一个位置 我正在寻求以下方面的建议: 如何从gradle的artifactory中获取工件并将其分解到临时目录 我看过gradle WAR插件文档,似乎我们可以指定一个自定义位置,从中重新打包WAR 部分答案:将artifactory工件作为依赖项添加到gr

我在artifactory上发布了一个第三方打包的war。我需要创建一个gradle作业,从artifactory获取war,将其分解到一个临时目录,向war文件添加一些自定义库(JAR),然后重新打包并将其发布到artifactory中的另一个位置

我正在寻求以下方面的建议:

  • 如何从gradle的artifactory中获取工件并将其分解到临时目录

  • 我看过gradle WAR插件文档,似乎我们可以指定一个自定义位置,从中重新打包WAR

    部分答案:将artifactory工件作为依赖项添加到gradle.build中-它将获取工件并将其缓存在gradle缓存中

    task unpack(type: Copy) {
    
      def archivePath = project.configurations.compile.find{it.name.startsWith("something") }
      def archiveFile = file(archivePath )
      def outputDir = file("${buildDir}/unpacked/dist")
    
      from zipTree(zipFile)
      into outputDir
    }