IDEA建立project和多個module(相互依賴打包)

lhxsir發表於2018-08-02

一、工程目錄
dac_parent 父目錄
dac-utils 繼承 dac_parent(不依賴 dac_parent)
dac-csr 依賴 dac_parent
dac-label 依賴 dac_parent 和 dac-csr
dac-test 依賴 dac_parent 和 dac-utils
這裡寫圖片描述

二、實際操作
新建project名稱,其中底部是module名稱
這裡寫圖片描述
刪除src檔案,修改pom

    <groupId>com.lhx.bigdata</groupId>
    <artifactId>dac-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>../dac-csr</module>
        <module>../dac-label</module>
        <module>../dac-test</module>
    </modules>
    <dependencies>
       省略。。。
    </dependencies>

</project>

選中dac-parent右鍵
這裡寫圖片描述
使用maven直接Next
這裡寫圖片描述
新建dac-utils模組
點選右上角… 選中none
這裡寫圖片描述
選中dac-parent右鍵
新建dac-csr dac-label dac-test模組
這裡寫圖片描述
修改dac-utils的pom

    <parent>
        <artifactId>dac-parent</artifactId>
        <groupId>com.lhx.bigdata</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../dac-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>dac-utils</artifactId>

    <build>
    省略。。。
    </build>

</project>

修改dac-label的pom

    <parent>
        <artifactId>dac-parent</artifactId>
        <groupId>com.lhx.bigdata</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../dac-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>dac-label</artifactId>
    <packaging>pom</packaging>
    <dependencies>
        <dependency>
            <groupId>com.lhx.bigdata</groupId>
            <artifactId>dac-csr</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
    省略。。。
    </build>

</project>

修改dac-test的pom

    <parent>
        <artifactId>dac-parent</artifactId>
        <groupId>com.lhx.bigdata</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../dac-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>dac-test</artifactId>

    <dependencies>
        <dependency>
            <groupId>com.lhx.bigdata</groupId>
            <artifactId>dac-utils</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
    省略。。。
    </build>

</project>

三、新建測試程式碼

(1) dac-utils程式碼

object DateUtil {
  def getNowTime(dateFormat:String): String = {
    val ca = Calendar.getInstance
    val resultDate:Date = ca.getTime()
    val sdf:SimpleDateFormat = new SimpleDateFormat(dateFormat)
    sdf.format(resultDate)
  }
 }

(2) dac-test程式碼

package test
import baseutils.DateUtil

object TestDemo {
    def main(args: Array[String]): Unit = {
        val date = DateUtil.getNowTime("yyyy-MM-dd")
        println("date=="+date)
    }
}

執行打包
先把dac-utils註冊到本地maven庫(點選dac-utils右鍵Build Module,然後再執行install)
這裡寫圖片描述
再把dac-test打包(點選dac-test右鍵Build Module,然後再執行assembly/install)
這裡寫圖片描述
(或者註冊本地maven庫)
這裡寫圖片描述

相關文章