简体   繁体   中英

Gradle - Add single file to JAR

I have the file "license.txt" in the root directory of my project. In the jar-task, I want to add this file to the (root folder of the) JAR file.

I tried

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

but this replaces the other content (.class files) instead of adding a file. And I do not want to add the license.txt to the resources folder, because I do not want to change my project structure just because of the build tool.

Who can help? Thank you!

To add a single file, you can simply do:

jar {
    from "license.txt"
}

Your solution should also work if you scoped your include to your from by enclosing it in curly braces.

If you would like to add multiple files, you can do:

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

You would add multiple files to output jar as under:

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'])
}

All contents in below directories will be added:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM