日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > Gradle 教程說明 用戶指南 第7章 構建Java工程----快速入門

Gradle 教程說明 用戶指南 第7章 構建Java工程----快速入門

來源:程序員人生   發布時間:2014-12-20 08:59:39 閱讀次數:3276次

官網地址:http://www.gradle.org/docs/2.1/userguide/tutorial_java_projects.html


A basic Java project  1個基礎的java工程

使用java插件在build.gradle:
apply plugin: 'java'

Building the project 構建工程

這里使用gradle/samples/java/quickstart  示例工程。shell進該目錄。
> gradle build
命令所 運行的任務有 (你可使用gradle taskName 來單獨運行以下的1種任務):
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build
任務后提示 UP-TO-DATE 表示文件無更新,已為最新
任何履行成功后,會在當前目錄下生成build目錄,build目錄下生成的部分目錄有:
  libs/                                JAR file in the directory
  src/main/java/                 source code
  src/test/java/                   test source code
  src/main/resources/        will be include in the JAR file
  src/test/resources/          will be include in the classpath used to run the tests


其他1些 有用的任務:
clean 清除build目錄
< gradle clean
Deletes the build directory, removing all built files. 
assemble 編譯打jar包
< gradle assemble
:compileJava
:processResources
:classes
:jar
:assemble
會調用這5個task。編譯,處理資源,生成字節碼,生成jar包      

External dependencies 外部依賴

通常1個項目會援用1些外部的JAR包。那末就需要告知Gradle在哪里可以找到它們。
在Gradle中,比如JAR文件,位于1個存儲倉庫(repository)。
存儲倉庫可以 獲得依賴或發布它使之獨立(比如jar包,javadoc文檔)。
本例使用Maven倉庫。
build.gradle:
repositories {
    mavenCentral()
}


本例需要添加1個.java源碼編譯時的依賴:commons-collections
和1個test源碼編譯時的依賴:junit
build.gradle:
dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}


Customizing the project 定制工程

Java插件添加了許多特性到您的項目。這些屬性通常有默許值。如果他們不合適,很容易改變這些值。
例子中,將為我們的Java項目指定版本號,和我們的源代碼的編譯級別。
在JAR-manifest中,我們還添加了1些屬性。
build.gradle:
//java compile version
sourceCompatibility = 1.5
//project version
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
}


添加1個test 系統屬性
build.gradle:
test {
    systemProperties 'property': 'value'
}


Publishing the JAR file  發布JAR包

1般打JAR包需要指定1個位置。就是要告知Gradle這個位置。例子中打包到本地目錄。也能夠發布到遠程位置或多個位置
build.gradle:
uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'  //publish to flat dir : repos
       }
    }
}


Creating an Eclipse project 創建1個Eclipse工程

要創建Eclipse獨有的描寫符文件,如.project文件,你需要添加另外1個插件到您的構建文件:
build.gradle:
apply plugin: 'eclipse'
> gradle eclipse
ls -al 發現有了 .project

同理,發現gradle java 也能夠履行:
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:javadoc
結果是編譯并生成了javadoc文檔

小結

<span style="font-size:14px;"><span style="font-family:SimSun;font-size:14px;">apply plugin: 'java' apply plugin: 'eclipse' sourceCompatibility = 1.5 version = '1.0' jar { manifest { attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version } } repositories { mavenCentral() } dependencies { compile group: 'commons-collections', name: 'commons-collections', version: '3.2' testCompile group: 'junit', name: 'junit', version: '4.+' } test { systemProperties 'property': 'value' } uploadArchives { repositories { flatDir { dirs 'repos' } } }</span></span>

Multi-project Java build  多Java工程構建

本節采取gradle/samples/java/multiproject 示例, shell 進該目錄。
Build layout 構建布局:
multiproject/
  api/
  services/webservice/
  shared/
  services/shared/

Defining a multi-project build 定義1個多工程的構建

要定義1個多項目構建,你需要創建1個設置文件。設置文件在源代碼樹的根目錄下。名為settings.gradle
settings.gradle:
include "shared", "api", "services:webservice", "services:shared"
說明 包括了 4個目錄

Common configuration 經常使用配置

定義1些對所有項目都通用的配置。采取1種叫 配置反射(configuration injection) 的技術。

build.gradle:
subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse-wtp'

    repositories {
       mavenCentral()
    }

    dependencies {
        testCompile 'junit:junit:4.11'
    }

    version = '1.0'

    jar {
        manifest.attributes provider: 'gradle'
    }
}

利用java插件到每一個子項目。意味著可以在子項目中,使用上1節講的任務和配置屬性。如 gradle build。
注意所構建出的文件都在子項目中,而不是在根目錄下。子項目里可以有自己的build.gradle 構建文件

Dependencies between projects 項目間的依賴關系

1個項目依賴了另外一個項目的jar包。例子里,在api/build,聲明了 依賴項目 shared
api/build.gradle:
dependencies {
    compile project(':shared’)
}



Creating a distribution 創建發布任務

api/build.gradle:
task dist(type: Zip) {
    dependsOn spiJar
    from 'src/dist'
    into('libs') {
        from spiJar.archivePath
        from configurations.runtime
    }
}
artifacts {
   archives dist
}
> gradle dist
以zip類型發布api工程的Jar包,依賴了任務spiJar,從目錄src/dist 添加到(打包進)build/libs/
該命令還會生成1個發布目錄:build/distributions
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲视频一二三 | 亚洲最大色综合成人av | 久久网页| 亚洲国产精品一区二区尤物区 | 日韩一区二区三区精品视频 | 欧美国产一区二区 | 一区二区三区在线观看视频 | av福利在线观看 | 亚洲成av人影片在线观看 | 久久亚洲愉拍国产自367391 | 天堂在线看 | 色综合日韩 | 国产成人免费看一级大黄 | 视频一区二区在线 | 亚洲日本中文字幕 | 欧美插插插 | 国产精品精品久久久 | 欧美xxxx黑人又粗又长精品 | 真人毛片 | 中文字幕精品一区久久久久 | 91私密视频 | 成人在线高清 | 天堂中文资源在线 | 亚洲综合视频在线 | 高清久久久 | 夜夜av | 亚洲一区二区三区中文字幕 | 欧美日韩另类在线 | 在线播放国产视频 | av色资源 | 国产视频久久 | 日日夜夜爽 | 不卡视频一区二区三区 | 毛片免费观看视频 | 一区二区三区四区精品 | 欧美手机在线视频 | 日韩在线视频免费观看 | 国产尤物视频 | 啪啪毛片| 成人性爱视频在线观看 | 精品三区 |