摘要:前言本篇主要講述多模塊打包,上傳本地倉庫,并交由本地其他項目使用環境準備操作系統版本開發軟件注版本不同,引入依賴方式可能不同,如果你發現本地導包是的,但是打包就報錯,可以看看是不是版本所引起的問題多模塊文檔多環境講解,官方文檔,官方文檔描述
1、前言
本篇主要講述:gradle多模塊打jar包,上傳本地倉庫,并交由本地其他項目使用2、環境準備
操作系統: mac os
gradle版本:4.1.0
開發軟件:idea
注:gradle版本不同,引入依賴方式可能不同,如果你發現本地導包是OK的,但是打包就報錯,可以看看是不是gradle版本所引起的問題3、多模塊gradle文檔
【gradle多環境講解,官方文檔】,官方文檔描述了多模塊配置中的幾個閉包的常規使用
allprojects{}, subprojects{}。前者配置應用包括root模塊在內的所有模塊,后者只應用子模塊,詳細的使用規則進入官方文檔詳細了解
項目1結構
|──root-project-one 項目1名稱 ├── common-project 基礎子項目 │ └── build.gradle 基礎子項目配置文件 ├── example-project 依賴common項目的示例項目 │ └── build.gradle 依賴common項目的示例項目的配置文件 ├── build.gradle 項目1的配置文件
項目2結構
|──root-project-two 項目2名稱 ├── build.gradle 項目2的配置文件(需要引用項目1中的example-project)
各個項目的配置文件(此處只列舉主要配置)
root-project-one/build.gradle
//所有子項目共享配置 subprojects { apply plugin: "maven" // 獲取本地倉庫路徑 def localRepositoryPath = "file://" + new File(System.getProperty("user.home"), ".m2/repository").absolutePath //打包至本地倉庫配置 uploadArchives { repositories { //mavenDeployer 需要依賴 apply plugin: "maven" mavenDeployer { repository(url: localRepositoryPath) pom.project { name = project.name // 當前項目名稱 version = project.version //當前項目版本 0.0.1 groupId = project.group // 當前項目組 com.xxx } } } } }
common-project/build.gradle
//jar SKIPPED 問題,添加如下配置 jar.enabled=true //(不設置可能會無法打jar)
example-project/build.gradle
dependencies { //依賴 common-project compile project(":common-project") } //jar SKIPPED 問題,添加如下配置 jar.enabled=true
上述配置完畢后刷新gradle配置,進入每個子模塊中打開命令行執行如下命令進行打包
gradle -q uploadArchives
或者打開右側的gradle面板,到模塊下的task>upload>uploadArchives,點擊執行即可生成相關jar
本地項目引用jar
root-project-two /build.gradle
repositories { //優先查找本地maven庫,性能最好 mavenLocal() //注:引用本地jar包時,必須加上本地maven庫 maven{ url "http://maven.aliyun.com/nexus/content/groups/public/"} } dependencies { //依賴本地jar compile("com.xxx:example-project:0.0.1") }5、總結
gradle版本可以通過修改項目下gradle>wrapper>gradle-wrapper.properties文件的distributionUrl對應地址的版本來修改,修改版本后需要刷新gradle
當多模塊相互依賴,打包給本地其他項目使用的時候,相互依賴的模塊建議都打jar包上傳本地倉庫
Diboot - 簡單高效的輕代碼開發框架
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74527.html
摘要:時間年月日星期二說明本文部分內容均來自慕課網。項目一個項目代表一個正在構建的組件比如一個文件,當構建啟動后,會基于實例化一個類,并且能夠通過變量使其隱式可用。任務動作定義了一個最小的工作單元。 時間:2017年05月16日星期二說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://github.com/zccod...
摘要:本文轉載自微信公眾號賬號,作者為海航生態科技技術研究院大數據開發工程師高顏。文章介紹了海航生態科技輿情大數據平臺的容器化改造經驗,包括初期技術架構應用容器化架構遷移持續發布與部署。 本文轉載自微信公眾號Docker(賬號:dockerone),作者為海航生態科技技術研究院大數據開發工程師高顏。 文章介紹了海航生態科技輿情大數據平臺的容器化改造經驗,包括初期技術架構、應用容器化、架構遷...
閱讀 1318·2021-10-27 14:14
閱讀 3574·2021-09-29 09:34
閱讀 2477·2019-08-30 15:44
閱讀 1716·2019-08-29 17:13
閱讀 2569·2019-08-29 13:07
閱讀 867·2019-08-26 18:26
閱讀 3342·2019-08-26 13:44
閱讀 3210·2019-08-26 13:37