gradle相關

一、gradle與gradlewjava

gradle命令用的本地的gradle。而gradlew是包裝器,經過gradle Wrapper容許在沒有安裝gradle的機器上進行gradle構建,能夠自動下載定義好的grale版本,其餘人不需預先安裝gradle,能夠保證編譯環境統一。 緩存

二、使用gradlew時提示:「錯誤: 找不到或沒法加載主類 org.gradle.wrapper.GradleWrapperMain」app

GradleWrapperMain位於gradle-wrapper.jar,gradlew沒有找到該jar包。能夠將gradle-wrapper.jar與gradle-wrapper.properties拷到項目的gradle/wrapper目錄下。eclipse

|---gradle
    |---wrapper
        |---gradle-wrapper.jar
        |---gradle-wrapper.properties
|---gradlew
|---gradlew.bat
三、設置緩存目錄maven

能夠設置環境變量GRADLE_USER_HOME爲d:\repos\.gradle。測試

四、例子gradle

項目目錄結構:ui

|---SimpleIM.net

    |---IMServernetty

        |---src

            |---main

                |---java

                    |---IMServer.java

                    |---db

                        |---DBManager.java

            |---test

                |---java

                    |---testDBManager.java

    |---IMClient

    |---settings.gradle

    |---build.gradle

子項目定義在settings.gradle中:

include 'IMServer','IMClient'

build.gradle定義:

工程能夠經過gradlew eclipse生成eclipse項目文件。

子項目是Java項目,從maven倉庫中找依賴的jar包。

編譯生成的java包帶上版本0.0.1

針對子項目IMServer,生成的jar包爲SimpleIMServer-0.0.1.jar

設置SimpleIMServer的主類爲IMServer

編譯依賴netty,測試的編譯依賴junit

編譯生成測試的jar包SimpleIMServer-test.jar

allprojects{
    apply plugin:'eclipse'
}

subprojects{
    apply plugin:'java'
    repositories {
        mavenCentral()
    }
    jar 
    {
        version='0.0.1'
    }
}

project(':IMServer'){
    archivesBaseName='SimpleIMServer'

    jar{
        manifest.attributes 'Main-Class': 'IMServer'
    }

    dependencies{
        compile 'io.netty:netty-all:4.1.9.Final'
        testCompile "junit:junit:4.9"
    }

    task testJar(type: Jar) {
        classifier = 'test'
        from sourceSets.test.output
    }

    artifacts {
        archives testJar
    }
   
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.14.1'
}
相關文章
相關標籤/搜索