2013-10-03 53 views
0

我需要使用Gradle将特定的JAR文件复制到WAR中的特定目录中。 我的代码:如何在Gradle中将文件从JAR复制到WAR?

war.doFirst { 
    for(file in classpath) { 
     FileTree tree = zipTree(file) 
     FileTree treeResources = tree.matching { include "META-INF/resources/*" } 

     String folderName = 'destinationFolder' 
     { 
      treeResources.each { 
       File resources -> copy { 
        from resources 
        String dest = war.destinationDir.name + "/" + war.archiveName + "/" + folderName 
        into dest 
       } 
      } 
     } 
    } 

问题:“目标”值不正确,而不是在创建WAR文件时,它大概是“库/ mywar-1.0.war/destinationFolder”。

回答

1

你会想是这样的:

war { 
    into("destinationFolder") { 
     from { classpath.collect { zipTree(it) } } 
     include "META-INF/resources/**" 
    } 
} 
+0

它的工作原理,除了:包括 “META-INF /资源/ **” 包括META-INF/resources文件夹,但我需要的资源的内部文件和文件夹,没有资源文件夹。 – isobretatel

相关问题