Gradle可以将多个项目放入一个jar吗? [英] Can Gradle jar multiple projects into one jar?

查看:368
本文介绍了Gradle可以将多个项目放入一个jar吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我知道你可以使用像这样的方法为单个项目做到这一点:

 任务packageTests(类型:Jar){源自sourceSets.test.classes的

}



但是,一个人如何将多个子项目压缩到一个jar?



I试试这个,它不起作用:

pre $ task packageTests(type:Jar){
from project(': (':core:')。sourceSets.test.classes
from project(':core:bing')。sourceSets.test.classes


解决方案

这是我的解决方案,它是稍微简单一点:

  //创建一个你希望包含在jar中的子项目列表。 
def mainProjects = [':apps',':core',':gui',':io']
任务oneJar(类型:Jar,dependsOn:mainProjects.collect {it +:compileJava }){
aseName ='name of jar'
from files(mainProjects.collect {project(it).sourceSets.main.output})
}

代码已经在Gradle 1.12上进行了测试


Can Gradle jar multiple projects into one jar ?

I know you can do it for a single project using a method like this:

task packageTests(type: Jar) {
  from sourceSets.test.classes
}

But how does a person zip up multiple sub-projects into one jar?

I tried this and it doesn't work:

task packageTests(type: Jar) {
  from project(':core').sourceSets.main.classes
  from project(':core:google').sourceSets.test.classes
  from project(':core:bing').sourceSets.test.classes
}

解决方案

Here's my solution, which is a little bit simpler:

// Create a list of subprojects that you wish to include in the jar.  
def mainProjects = [':apps',':core',':gui',':io']
task oneJar( type: Jar , dependsOn: mainProjects.collect{ it+":compileJava"}) {
    baseName = 'name of jar'
    from files(mainProjects.collect{ project(it).sourceSets.main.output })
}

Code has been tested on Gradle 1.12

这篇关于Gradle可以将多个项目放入一个jar吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆