如何使用Gradle将JAR从WEB-INF\lib文件夹移动到WAR文件中的另一个文件夹?

如何使用Gradle将JAR从WEB-INF\lib文件夹移动到WAR文件中的另一个文件夹?,gradle,jar,war,Gradle,Jar,War,我想将JAR从WEB-INF\lib文件夹移动到WAR文件中的另一个文件夹。 以下操作不起作用: war { // I don't want my.jar in WEB-INF\lib folder exclude "**/my.jar" // I want my.jar in "myFolder" folder into("myFolder") { def myFiles = classpath.f

我想将JAR从WEB-INF\lib文件夹移动到WAR文件中的另一个文件夹。 以下操作不起作用:

war { 
        // I don't want my.jar in WEB-INF\lib folder 
        exclude "**/my.jar"

        // I want my.jar in "myFolder" folder 
        into("myFolder") {
            def myFiles = classpath.filter{ File file -> file.name.endsWith("my.jar")}

            from(myFiles)
        }
}

my.jar不在“myFolder”文件夹中。

问题在于,您的
exclude
语句会将任何遵循
**/my.jar
模式的文件排除在任务处理之外,即使在子类中也是如此。但您不想排除该文件,只想修改其路径:

war {
    filesMatching('**/my.jar') { file ->
        file.path = 'myFolder/' + file.name
    }
}

不工作:my.jar仍在WEB-INF\lib文件夹中。很抱歉,我不知道
path
应该是完整路径,所以我添加了文件名。如果它仍然不起作用,您能否将类似于
eachFile{file->println file.path}
的内容添加到构建脚本中,并将输出粘贴到您的问题中?WEB-INF\lib不在输出中。myFolder/my.jar在输出中。