本文介绍了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吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!