如何构建一个Java项目
在Gradle中,执行任何操作都是任务驱动的,构建Java项目也不例外。最常用任务是build任务,运行它会构建你的整个项目。
- ./gradlew build
- ./gradlew clean
- ./gradlew assemble 该任务不会执行单元测试,只会编译和打包。
- ./gradlew check 它只会执行单元测试,有时候会做一些质量检查,不会打jar包。
- ./gradlew javadoc 生成java格式的doc api文档。
源码集合[SourceSet]概念
apply plugin:'java'
sourceSets{
vip{
}
}
task sourceSetTask{
doLast{
sourceSets.all{
println "方法:$name 源集的Java源文件所在目录:${java.srcDirs} 》〉》 ${java} 》〉》 ${resources} 》〉》 ${resources.srcDirs}"
}
}
}
修改源代码存放位置
sourceSets{
vip{
java {
srcDir 'src/java'
}
resources{
srcDir 'src/resources'
}
}
}
多项目构建
settings.gradle
include ':A'
project(':A').projectDir=new File(rootDir,'xx/xx/a')
include ':B'
project(':B').projectDir=new File(rootDir,'xx/xx/b')
发布构件
apply plugin:'java'
// 引用一个maven插件,对发布构件支持非常好,可以直接配置release库和snapshot库
apply plugin:'maven'
task publishJar(type:Jar)
group 'org.build.study.one'
version '1.0.0'
artifacts{
archives publishJar
}
uploadArchives{
repositories{
flatDir{
name 'libs'
dirs "$projectDir/libs"
}
//发布到本地的Maven库中,在用户目录.m2/repository文件下找到它
//mavenLocal()
//发布到公司搭建的Maven私服
mavenDeployer{
repository(url:"http://xxxxxxx"){
authentication(userName:"userName",password:"pwd")
}
snapshotRepository(url:"http://xxxxxxx"){
authentication(userName:"userName",password:"pwd")
}
}
}
}