需要一个gradle jar任务,可以正常复制类和自定义文件

时间:2015-03-19 23:21:44

标签: gradle

在我的Gradle构建中,在编译类之后,我需要创建一个包含典型位置中的类的jar,但我还需要jar包含来自项目特定子目录的一组其他纯文本文件,并进入jar中的另一个命名文件夹。

所以,例如,在罐子的根部,我会有" com"启动类树的文件夹,但我也有一个" META-INF"包含自定义子文件夹名称的文件夹,其中包含从项目中复制的文件。

更新

我尝试添加以下内容:

jar {
    from ("src/main/resources/yang") {
        into ("META-INF/yang")
    } 
}

这接近正常工作。它会复制来自"来自"的所有文件。夹"进入"进入"生成的jar中的文件夹。然而,由此产生的罐子也有一个阳气"包含" src / main / resources / yang"中相同文件的文件夹。那么,如何阻止该文件夹的默认复制?

我可能最终将此作为自定义插件的一部分,但是现在我想看看我是否可以配置一个简单的" jar"这样做的任务。

更新

根据解决方案,以下工作:

jar {
    exclude "yang"
    from ("src/main/resources/yang") {
        into ("META-INF/yang")
    } 
}

1 个答案:

答案 0 :(得分:2)

据我所知,build.gradle可以通过以下方式进行修改:

apply plugin: 'java'

jar {
    from('other') {
        into('META-INF/other')
    }
}

可以找到完整演示here

<强>更新

这应该有效:

申请插件:&#39; java&#39;

jar {
   from('src/main/resources/other') {
      into('META-INF/other')
   }
   exclude 'other/**'
}