一、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' }