【问题标题】:Include certain jars/group into gradle jar将某些 jars/group 包含到 gradle jar 中
【发布时间】:2018-10-11 18:40:08
【问题描述】:

我在 build.gradle 中有以下示例。我的要求是将罐子 jar1(及其依赖项)和 jar3(及其依赖项)作为我最终 jar 的一部分。我怎样才能做到这一点 ?我已经为此搜索了很多,虽然我在这里找到了解决方案https://stackoverflow.com/a/43374638/1403009,但我只能包含一个包名称作为 jar 构建任务的一部分。在这种情况下,我需要将多个这样的包/组包含在我的最终 jar 中。

..
..
configurations {
    runTimeJars
}

dependencies {
  configurations.compile.extendsFrom(configurations.runTimeJars)
  runTimeJars'group1:jar1'
  compile 'group1:jar2'
  runTimeJars'group1:jar3'
}

jar {
    zip64 true
    from {
            configurations.runTimeJars.collect { it.isDirectory() ? it : zipTree(it) }
        }
}

【问题讨论】:

    标签: java gradle jar build.gradle


    【解决方案1】:

    试试:

    jar {
        manifest {
            attributes 'Main-Class': `mainClassName`
        }
    
        from {
            configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
            configurations.runTimeJars.collect { it.isDirectory() ? it : zipTree(it) }
        }
    }
    

    我自己没有测试。

    【讨论】:

    • 这将包括所有依赖项并且生成的 jar 变成了 fat jar。我需要包含特定的 jar 及其依赖项。
    猜你喜欢
    • 2015-03-21
    • 2011-02-21
    • 1970-01-01
    • 2015-10-15
    • 2020-02-28
    • 2015-10-06
    • 2011-12-05
    • 2015-10-03
    • 1970-01-01
    相关资源
    最近更新 更多