成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

gradle-學習筆記(2)-多項目構(gòu)建

happen / 876人閱讀

摘要:記得在中支持多個子項目的構(gòu)建方法同樣的在中也會支持多項目的構(gòu)建方法還記得在中如何配置多項目工程嗎這里回憶一下首先我們需要一個父元素文件比如這樣而在中我們并不需要指定父元素的標簽我們只需要編寫好對應的文件夾名稱,并且將文件夾名稱和對

記得在maven中支持多個子項目的構(gòu)建方法,同樣的在gradle 中也會支持多項目的構(gòu)建方法

還記得在maven中如何配置多項目工程嗎, 這里回憶一下

首先我們需要一個父元素pom文件比如這樣



    4.0.0

    com.kyssion
    maven-demo
    1.0-SNAPSHOT
    pom

而在gradle中,我們并不需要指定父元素的標簽,我們只需要編寫好對應的文件夾名稱,并且將文件夾名稱和對應的目錄結(jié)構(gòu)對應清,gradle 就能自動的識別這個子項目

比如我創(chuàng)建這樣一個子項目名稱是greeting-library

子項目中的配置未見build.gradle

plugins {
    id "groovy"
}

group "com.kyssion"
version "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    compile "org.codehaus.groovy:groovy-all:2.5.6"
    testCompile group: "junit", name: "junit", version: "4.12"
}

父項目中的setting.gradle中添加這樣一條配置

include "greeting-library"

這樣就能使用greeting-library目錄下的gradle子項目了

一個簡單的項目

這使用一個簡單的項目介紹一下這個如何使用gradle 實現(xiàn)整合打包

項目結(jié)構(gòu)和模塊劃分
├── build.gradle
├── greeter
│?? ├── build
│?? │?? ├── classes
│?? │?? │?? └── java
│?? │?? │??     └── main
│?? │?? │??         └── greeter
│?? │?? │??             └── Greeter.class
│?? │?? ├── distributions
│?? │?? │?? ├── greeter-1.0-SNAPSHOT.tar
│?? │?? │?? └── greeter-1.0-SNAPSHOT.zip
│?? │?? ├── generated
│?? │?? │?? └── sources
│?? │?? │??     └── annotationProcessor
│?? │?? │??         └── java
│?? │?? │??             └── main
│?? │?? ├── libs
│?? │?? │?? └── greeter-1.0-SNAPSHOT.jar
│?? │?? ├── scripts
│?? │?? │?? ├── greeter
│?? │?? │?? └── greeter.bat
│?? │?? └── tmp
│?? │??     ├── compileJava
│?? │??     └── jar
│?? │??         └── MANIFEST.MF
│?? ├── build.gradle
│?? └── src
│??     ├── main
│??     │?? ├── java
│??     │?? │?? └── greeter
│??     │?? │??     └── Greeter.java
│??     │?? └── resources
│??     └── test
│??         ├── java
│??         └── resources
├── greeting-library
│?? ├── build
│?? │?? ├── classes
│?? │?? │?? └── groovy
│?? │?? │??     ├── main
│?? │?? │??     │?? └── greeter
│?? │?? │??     │??     └── GreetingFormatter.class
│?? │?? │??     └── test
│?? │?? │??         └── greeter
│?? │?? │??             └── GreetingFormatterSpec.class
│?? │?? ├── generated
│?? │?? │?? └── sources
│?? │?? │??     └── annotationProcessor
│?? │?? │??         └── groovy
│?? │?? │??             ├── main
│?? │?? │??             └── test
│?? │?? ├── libs
│?? │?? │?? └── greeting-library-1.0-SNAPSHOT.jar
│?? │?? ├── reports
│?? │?? │?? └── tests
│?? │?? │??     └── test
│?? │?? │??         ├── classes
│?? │?? │??         │?? └── greeter.GreetingFormatterSpec.html
│?? │?? │??         ├── css
│?? │?? │??         │?? ├── base-style.css
│?? │?? │??         │?? └── style.css
│?? │?? │??         ├── index.html
│?? │?? │??         ├── js
│?? │?? │??         │?? └── report.js
│?? │?? │??         └── packages
│?? │?? │??             └── greeter.html
│?? │?? ├── test-results
│?? │?? │?? └── test
│?? │?? │??     ├── binary
│?? │?? │??     │?? ├── output.bin
│?? │?? │??     │?? ├── output.bin.idx
│?? │?? │??     │?? └── results.bin
│?? │?? │??     └── TEST-greeter.GreetingFormatterSpec.xml
│?? │?? └── tmp
│?? │??     ├── compileGroovy
│?? │??     │?? └── groovy-java-stubs
│?? │??     ├── compileTestGroovy
│?? │??     │?? └── groovy-java-stubs
│?? │??     ├── jar
│?? │??     │?? └── MANIFEST.MF
│?? │??     └── test
│?? │??         └── jar_extract_15307722744227685163_tmp
│?? ├── build.gradle
│?? └── src
│??     ├── main
│??     │?? ├── groovy
│??     │?? │?? └── greeter
│??     │?? │??     └── GreetingFormatter.groovy
│??     │?? ├── java
│??     │?? └── resources
│??     └── test
│??         ├── groovy
│??         │?? └── greeter
│??         │??     └── GreetingFormatterSpec.groovy
│??         ├── java
│??         └── resources
└── settings.gradle

這個項目中劃分為根項目gradle-demo,包項目greeting-library,core可運行項目greeter。

注意: 通過上面的例子我們可以得出,在gradle 中不同的子項目的命名規(guī)則是使用文件夾的
注意:在java 項目中,gradle 要求 必須指定項目的main函數(shù)具體方法見下方

這里針對gradle的多語言的編程的目錄結(jié)構(gòu)做一下補充,gradle中源代碼同意放置在這樣的位置中src->main/test->編程語言名稱文件夾 下
plugins {
    id "java"
    id "application"
}

group "com.kyssion"
version "1.0-SNAPSHOT"

sourceCompatibility = 1.8

mainClassName = "greeter.Greeter"  //這一句指定了main函數(shù)
repositories {
    mavenCentral()
}

dependencies {
    compile project(":greeting-library")
    testCompile group: "junit", name: "junit", version: "4.12"
}
總結(jié)

在構(gòu)建gradle 多模塊項目的時候,一定要注意多模塊的之間的引用,模塊中main函數(shù)的編寫,父模塊的include

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73430.html

相關文章

  • gradle-學習筆記(1)-初步使用

    摘要:最近想深入的學習一下工程化方面相關的東西,在和直接糾結(jié)不已,因為的擴展性太差勁了,學習成本頗高,所以最后投入了的懷抱中,以后有時間再重新學習一下吧最近的學習筆記是基于系列,其中各種教程和例子大都是來源于官方文檔或者網(wǎng)絡上的博客。 最近想深入的學習一下工程化方面相關的東西,在maven和gradle直接糾結(jié)不已,因為maven的擴展性太差勁了,學習成本頗高,所以最后投入了gradle的懷...

    frank_fun 評論0 收藏0
  • Gradle學習筆記(1)創(chuàng)建簡單的Java項目

    摘要:是一個基于和概念的項目自動化構(gòu)建工具。當前其支持的語言限于和主要面向應用。本次分享將具體講述如何利用來創(chuàng)建一個簡單的項目。首先我們新建一個文件夾作為展示的項目。中的代碼如下這是用來定義項目。接著創(chuàng)建文件夾,這是項目開發(fā)中習慣性的構(gòu)建方法。 ??Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化構(gòu)建工具。它使用一種基于Groovy的特定領域語言(DSL)...

    URLOS 評論0 收藏0
  • 鴻蒙學習筆記之初運項目

    摘要:項目結(jié)構(gòu)下面是我們創(chuàng)建項目生成的目錄展開目錄如下配置文件,由系統(tǒng)自動生成,一般情況下不需要進行修改開發(fā)工具的信息默認啟動模塊主模塊,開發(fā)者用于編寫源碼文件以及開發(fā)資源文件的目錄用于存放模塊的依賴文件用于存放源碼用于存放應用所用到的資源文件 1.項目結(jié)構(gòu) 下面是我們創(chuàng)建項目生成的目錄 1.M...

    不知名網(wǎng)友 評論0 收藏0
  • 鴻蒙學習筆記之初運項目

    摘要:項目結(jié)構(gòu)下面是我們創(chuàng)建項目生成的目錄展開目錄如下配置文件,由系統(tǒng)自動生成,一般情況下不需要進行修改開發(fā)工具的信息默認啟動模塊主模塊,開發(fā)者用于編寫源碼文件以及開發(fā)資源文件的目錄用于存放模塊的依賴文件用于存放源碼用于存放應用所用到的資源文件 1.項目結(jié)構(gòu) 下面是我們創(chuàng)建項目生成的目錄 1.M...

    Pikachu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<