美文网首页GradleAndroid知识积累
Gradle构建多模块项目

Gradle构建多模块项目

作者: harryV | 来源:发表于2017-03-06 09:32 被阅读2033次

    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构建多模块项目

        本文链接:https://www.haomeiwen.com/subject/vwuygttx.html