Gradle - 将单个文件添加到 JAR
Posted
技术标签:
【中文标题】Gradle - 将单个文件添加到 JAR【英文标题】:Gradle - Add single file to JAR 【发布时间】:2012-09-06 19:27:11 【问题描述】:我的项目根目录中有文件“license.txt”。在 jar-task 中,我想将此文件添加到 JAR 文件的(根文件夹)中。
我试过了
jar
from '.' include 'license.txt'
但这替换其他内容(.class文件)而不是添加一个文件。 而且我不想将 license.txt 添加到资源文件夹中,因为我不想仅仅因为构建工具而改变我的项目结构。
谁能帮忙?谢谢!
【问题讨论】:
【参考方案1】:要添加单个文件,您只需执行以下操作:
jar
from "license.txt"
如果您通过将include
括在花括号中将其范围限定为from
,您的解决方案也应该有效。
【讨论】:
简短而完美的答案。谢谢! 你能举一个包含范围的例子吗?我想将某些目录添加到 jar 中。当我使用时: from "$projectDir/src/main/webapp/WEB-INF" 然后它只使用那个目录,但我想添加这个目录...from
是加法的。它不会覆盖任何东西。
In my case 生成了我要添加的那些文件,并且似乎jar
试图过早地添加这些文件。知道如何解决这个问题吗?【参考方案2】:
如果你想添加多个文件,你可以这样做:
jar
from
["aaa.txt","bbb.txt"]
【讨论】:
【参考方案3】:您将添加多个文件到输出 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'])
将添加以下目录中的所有内容:
构建/类/java /main/mappings/postgresql【讨论】:
以上是关于Gradle - 将单个文件添加到 JAR的主要内容,如果未能解决你的问题,请参考以下文章
如何将参数添加到 flyway build.gradle 文件?
如何将安全策略文件添加到 rmi 应用程序的 gradle 构建?