如何将依赖项放在输出jar中

时间:2016-05-03 05:08:02

标签: java gradle jar dependencies

例如:

//build.gradle
dependencies {
    ...
    compile 'com.google.guava:guava:19.0'
}

和输出jar是:

roroco@roroco ~/Dropbox/jvs/ro-adr/ro $ jar tf build/libs/ro.jar
META-INF/
META-INF/MANIFEST.MF
ro/
ro/Noko.class
ro/RoFile.class
ro/Http.class
ro/Out.class
ro/Range.class
ro/Range$1.class
ro/JSON.class
ro/Str.class
ro/Kernel.class
ro/noko/
ro/noko/Node.class
ro/noko/Doc.class
ro/Rsp.class
ro/Http$RqErr.class

有没有办法将'com.google.guava:guava:19.0'添加到ro.jar? 我知道jar cli可以做到这一点,我希望能以更简单的方式去做。

我也希望知道如何在android jar文件中做到这一点

1 个答案:

答案 0 :(得分:0)

Ben McCann在this topic

中的回答

只需使用以下配置

// Include dependent libraries in archive.
mainClassName = "com.company.application.Main"

jar {
  manifest { 
    attributes "Main-Class": "$mainClassName"
  }  

  from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
  }
}