實戰Gradel學習記錄

gradle命令

# 查看gradle版本
gradle -v

# 支持指定的task
gradle task名稱

# 靜默運行指定的task
gradle -q task名稱

# 清理
gradle clean

# 列出項目中所有可用的task
gradle -q tasks

# 列出項目中所有可用的task, 包括依賴任務
gradle -q tasks --all

# 在執行時排除一個任務, 選項-x可以實現這個功能
gradle task名稱 -x 要排除的task名稱

# 在運行時, 提供一個系統參數. 選項-D可以實現這個功能
gradle task名稱 -Dmyprop=myvalue

# 執行包裝器任務
gradle wrapper

build.gradle文件內容

/* ------- 基本配置 ------- */
// 使用Java插件, 默認會到'src/main/java'目錄下查找源代碼
apply plugin: 'java'
// 使用war插件(它包含了java插件,所以兩個寫一個就可以了), 默認會識別'src/main/webapp'目錄
apply plugin: 'war'
// 在嵌入式Web容器中運行
apply plugin: 'jetty'

// 定製jetty插件, 配置端口號和項目根路徑
jettyRun {
    httpPort = 9090
    contextPath = 'todo'
}

// 指定項目版本號
version = 0.1

// 指定jdk版本兼容性
sourceCompatibility = 1.6

/* 
添加程序啓動類, 也就是將Main-Class頭添加到JAR文件代碼清單中
這樣就可以通過java -jar build/libs/todo-app-0.1.jar命令來運行應用
*/
jar {
    manifest {
        attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
    }
}


/* ------- 改造遺留項目 ------- */
// 改變默認的項目 目錄結構
sourceSets {
    main {
        java {
            /*
            約定的, 默認的源代碼目錄是在'src/main/java'
            這裏修改爲'src'目錄
            */
            srcDirs = ['src']
        }
    }
    test {
        java {
            /*
            約定的測試源代碼目錄是在'src/test/java'
            這裏修改爲'test'目錄
            */
            srcDirs = ['test']
        }
    }
}
// 約定的項目輸出路徑是'build'目錄, 這裏修改爲'out'目錄
buildDir = 'out'
/*
改變web應用webapp默認目錄 (默認是'src/main/webapp')
用於改造舊項目, 如下所示:
|_ build.gradle
|_ src
|    |_ main
|        |_ java
|_ static
|    |_ css
|_ webfiles
     |_ WEB-INF
         |_ web.xml
*/
webAppDirName = 'webfiles'
war {
    // static目錄下的 內容 添加到WAR文件的根目錄下
    from 'static'
}


/* ------- 依賴管理 ------- */
// 依賴管理, 定義中心倉庫
repositories {
    maven {
        url "http://maven.aliyun.com/nexus/content/groups/public/"
    }
}

// 添加依賴
dependencies {
    complie group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
    providedComplie 'javax.servlet:servlet-api:2.5'
    runtime 'javax.servlet:jstl:1.1.2'
}


/* ------- 部署 ------- */
// 配置包裝器任務
task wrapper (type : Wrapper) {
    gradleVersion = '3.5'
}
// 定製包裝器
task wrapper (type : Wrapper) {
    // 請求的gradle版本
    gradleVersion = '3.5'
    // 獲取gradle包裝器的URL
    distributionUrl = 'http://myenterprise.com/gradle/dists'
    // 包裝器被解壓後存放的相對路徑
    distributionPath = 'gradle-dists'
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章