【问题标题】:Gradle - Add single file to JARGradle - 将单个文件添加到 JAR
【发布时间】:2012-09-06 19:27:11
【问题描述】:

我的项目根目录中有文件“license.txt”。在 jar-task 中,我想将此文件添加到 JAR 文件的(根文件夹)中。

我试过了

jar {
  from '.' include 'license.txt'
}

但这替换其他内容(.class文件)而不是添加一个文件。 而且我不想将 license.txt 添加到资源文件夹中,因为我不想仅仅因为构建工具而改变我的项目结构。

谁能帮忙?谢谢!

【问题讨论】:

    标签: file jar include task gradle


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2019-05-22
        • 2022-08-22
        • 1970-01-01
        • 1970-01-01
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-11
        相关资源
        最近更新 更多