gradle多模块 java_Gradle构建多模块项目

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

你可能感兴趣的:(gradle多模块,java)