1:创建项目
首先创建项目
mkdir spring-cloud
cd spring-cloud
gradle init
然后创建多模块
mkdir -p spring-cloud-server/src/main/java
mkdir -p spring-cloud-server/src/test/java
mkdir -p spring-cloud-client/src/main/java
mkdir -p spring-cloud-client/src/test/java
2:修改gradle配置文件
修改根目录下的 settings.gradle 文件,引入子模块:
include 'spring-cloud-server','spring-cloud-client'
修改根目录下的 build.gradle 文件
// 所有子项目的通用配置
subprojects {
apply plugin: 'java'
apply plugin: 'idea'
version = '1.0'
// JVM 版本号要求
sourceCompatibility = 1.7
targetCompatibility = 1.7
// java编译的时候缺省状态下会因为中文字符而失败
[compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'
//定义版本号
ext {
springVersion = '3.2.11.RELEASE'
hibernateVersion='4.3.1.Final'
}
repositories {
mavenCentral()
}
jar {
manifest {
attributes("Implementation-Title": "Gradle")
}
}
configurations {
// 所有需要忽略的包定义在此
all*.exclude group: 'commons-httpclient'
all*.exclude group: 'commons-logging'
all*.exclude group: 'commons-beanutils', module: 'commons-beanutils'
}
dependencies {
// 通用依赖
compile(
)
// 依赖maven中不存在的jar
ext.jarTree = fileTree(dir: 'libs', include: '**/*.jar')
ext.rootProjectLibs = new File(rootProject.rootDir, 'libs').getAbsolutePath()
ext.jarTree += fileTree(dir: rootProjectLibs, include: '**/*.jar')
compile jarTree
// 测试依赖
testCompile(
"org.springframework:spring-test:$springVersion",
"junit:junit:4.11"
)
}
// 显示当前项目下所有用于 compile 的 jar.
task listJars(description: 'Display all compile jars.') << {
configurations.compile.each { File file -> println file.name }
}
}
在spring-cloud-server下添加build.gradle 文件
cd spring-cloud-server
vi build.gradle
archivesBaseName = 'spring-cloud-server'
// 还可以定义其他配置,这里直接继承父模块中的配置
spring-cloud-client同理
3. 编译项目
查看所有 jar:
gradle listJars
查看各个模块的依赖
gradle :spring-cloud-server:dependencies
gradle :spring-cloud-client:dependencies
编译所有模块:
gradle build