Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Gradle-将单个文件添加到JAR_File_Jar_Include_Task_Gradle - Fatal编程技术网

File Gradle-将单个文件添加到JAR

File Gradle-将单个文件添加到JAR,file,jar,include,task,gradle,File,Jar,Include,Task,Gradle,我的项目根目录中有文件“license.txt”。在jar任务中,我想将这个文件添加到jar文件的根文件夹中 我试过了 jar { from '.' include 'license.txt' } 但这将替换其他内容(.class文件),而不是添加文件。 我不想将license.txt添加到resources文件夹,因为我不想仅仅因为构建工具而更改我的项目结构 谁能帮忙?谢谢大家! 要添加单个文件,只需执行以下操作: jar { from "license.txt" } 如果您将

我的项目根目录中有文件“license.txt”。在jar任务中,我想将这个文件添加到jar文件的根文件夹中

我试过了

jar {
  from '.' include 'license.txt'
}
但这将替换其他内容(.class文件),而不是添加文件。 我不想将license.txt添加到resources文件夹,因为我不想仅仅因为构建工具而更改我的项目结构


谁能帮忙?谢谢大家!

要添加单个文件,只需执行以下操作:

jar {
    from "license.txt"
}

如果您将
包含
的范围限定为从到
的范围,并将其用花括号括起来,您的解决方案也应该有效。

如果您要添加多个文件,您可以执行以下操作:

jar{
    from{
        ["aaa.txt","bbb.txt"]
    }
}

您将向输出jar添加多个文件,如下所示:

jar {
    // Update jar name according to Ascertia conventions
    /**
     * archiveFileName
     * The archive name. If the name has not been explicitly set, the pattern for the name is:
     * [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]
     */
    archiveFileName = 'database_postgresql.jar'
    from(['build/classes/java/main','mappings/postgresql'])
}
将添加以下目录中的所有内容:

  • build/classes/java
  • /main/mappings/postgresql

简短而完美的答案。非常感谢。你能举一个包含范围的例子吗?我想把某些dir添加到一个jar中。当我使用:from“${projectDir}/src/main/webapp/WEB-INF”时,它只使用该目录,但我想添加该目录…
from
是加法的。它不会覆盖任何内容。我要添加的那些文件已经生成,而且似乎
jar
试图过早地添加这些文件。你知道我如何解决这个问题吗?