a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

Maven快速入門(二)

2024-06-28 16:01:06
字體:
供稿:網(wǎng)友

Maven的多模塊和繼承

多模塊:分模塊、分項目、統(tǒng)一管理子項目 繼承:復(fù)用父項目、復(fù)用其它項目

多模塊解決:將maven項目分解,為了統(tǒng)一管理和開發(fā)方便,父項目管理一堆子項目,站在父項目。 繼承解決:使用pom配置,為了復(fù)用和整合的問題,站在子項目。

多模塊:將一個大工程分成幾個小的工程便于開發(fā)。 繼承:多個模塊之間有關(guān)系,主要是指子模塊和父工程之間的繼承關(guān)系。

概述

多模塊:定義一組構(gòu)建模塊的聚集 特點:Maven build 父模塊的時候,會自動build子模塊,父模塊的packageing必須是POM。

繼承:復(fù)用配置 可繼承的元素,子模塊可任意重寫父模塊配置。

多模塊和繼承的構(gòu)建

使用eclipse工具進行父子工程構(gòu)建。

第一步:新建父工程項目(new maven PRoject):打包方式變成了pom。maven的父項目,可以管理子項目,可以被繼承。 第二步:建立一個子項目工程(Maven Module),packaging根據(jù)類型選擇jar或者war。

parent繼承:復(fù)用父項目,包括坐標,jar各種配置。

<!-- 繼承:父項目,可以復(fù)用父項目的東西 --> <parent> <groupId>cn.itheima.maven</groupId> <artifactId>mavenprojectparent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>

modules多模塊:用來管理子項目,向下管理

<!-- 多模塊(聚合):管理子項目 --> <modules> <module>mavenprojectchild01</module> <module>mavenprojectchild02</module> </modules>

第三步:項目操作: 1.繼承:父工程導(dǎo)入jar包,子工程會自動導(dǎo)入父工程導(dǎo)入的jar包。 2.統(tǒng)一操作:只對父工程進行構(gòu)建操作,就會同時操作管理各個子模塊 對父工程進行編譯、清理、打包或安裝操作。

多模塊為了統(tǒng)一管理(聚合),而繼承是為了復(fù)用。

Maven私服-Nexus

私服介紹

私服是架設(shè)在局域網(wǎng)的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構(gòu)件。有了私服之后,當(dāng) Maven 需要下載構(gòu)件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠程倉庫,將構(gòu)件下載到私服,再提供給本地倉庫下載。私服一般是公司搭建,內(nèi)部使用,也可以公開。

私服的優(yōu)點:減少用戶對中央倉庫的依賴訪問。還可以將私有的項目放到私服中。

Nexus的安裝

官網(wǎng):http://www.sonatype.org/nexus/

目錄結(jié)構(gòu): - nexus-xxx:該目錄包含了Nexus運行所需要的文件,如啟動腳本、依賴jar包等 - sonatype-work:該目錄包含Nexus生成的配置文件、日志文件、倉庫文件等

第一個目錄是運行Nexus所必需的,而且所有相同版本的Nexus實例所包含的該目錄內(nèi)容都是一樣的。 第二個目錄不是必須的,在運行的時候會動態(tài)創(chuàng)建的,所以需要備份Nexus的時候,默認備份sonatype-work目錄就可以。

直接啟動: 直接雙擊console-nexus.bat運行,瀏覽器中輸入http://localhost:8081/nexus/。 通過服務(wù)來啟動:

Nexus的倉庫

倉庫的類型(Type),Nexus內(nèi)置有四種類型:

hosted(宿主倉庫):主要用于部署無法從公共倉庫獲取的構(gòu)件(如 Oracle 的 JDBC 驅(qū)動)以及自己或第三方的項目構(gòu)件; -一般需要安裝到proxy(代理倉庫):代理公共的遠程倉庫;–連接中央倉庫、其他私服virtual(虛擬倉庫):為了兼容、適配maven1的倉庫格式,可動態(tài)的將Maven1倉庫格式轉(zhuǎn)換為Maven2的倉庫格式,即也是為了服務(wù)Maven1的格式的倉庫數(shù)據(jù)。group(倉庫組):Nexus 通過倉庫組的概念統(tǒng)一管理多個倉庫,這樣我們在項目中直接請求倉庫組即可請求到倉庫組管理的多個倉庫

倉庫的格式有兩種:

maven2:現(xiàn)在Maven倉庫使用的格式。maven1:Maven1格式倉庫已經(jīng)不再使用,除了Virtual類型的倉庫外,不要配置該格式。

倉庫的策略(Policy)有兩種:

Release:發(fā)布(版本)Snapshot:快照(版本)

默認情況下內(nèi)置的幾個倉庫說明:

Central:代理中央倉庫、策略為Release、只會下載和緩存中央倉庫中的發(fā)布版本構(gòu)件。Central M1 shadow: 代理中央倉庫,策略為Virtual,用于提供中央倉庫中M1格式的發(fā)布版本的構(gòu)件鏡像倉庫Release:策略為Release的宿主倉庫、用來部署組織內(nèi)部的發(fā)布版本內(nèi)容。Snapshot:策略為Snapshot的宿主倉庫、用來部署組織內(nèi)部的快照版本內(nèi)容。3rd party:策略為Release的宿主倉庫類型、用來部署無法從公共倉庫獲取的第三方發(fā)布版本構(gòu)件、如oracle連接驅(qū)動jar包。Apache Snapshot:策略為Snapshot的代理倉庫、用來代理ApacheMaven倉庫的快照版本構(gòu)件。Public Repositories:該倉庫將上述所有策略為Release的倉庫聚合并通過一致的地址提供服務(wù)。Public Snapshot Repositories:該倉庫將上述所有策略為Snapshot的倉庫聚合并通過一致的地址提供服務(wù)

Nexus倉庫的配置

用戶名:admin,密碼:admin123登錄。

開啟遠程倉庫的索引同步搜索功能,即允許下載遠程倉庫索引: 點擊左邊Administration菜單下面的Repositories,找到右邊倉庫列表中的所有proxy類型的倉庫Apache Snapshots和Maven Central,然后依次點擊打開倉庫詳情,下面的configuration選項卡下把Download Remote Indexes修改為true。

經(jīng)過上述操作以后, Nexus會自動從遠程中央倉庫下載索引文件, 為了檢驗索引文件自動下載是否生效,可以切換到Browse Index,在 Browse Index 選項卡下,可以瀏覽到所有已被索引的構(gòu)件信息,包括坐標、格式、Maven 依賴的 xml 代碼。

添加新的代理倉庫

添加第三方遠程私服倉庫,點擊菜單 Add - Proxy Repository

填入一下屬性: Repository ID:新倉庫唯一標識 Repository Name:新倉庫的名字 Remote Storage Location:要代理的遠程倉庫的地址

添加新的宿主倉庫

步驟為Repositories –> Add –> Hosted Repository,在頁面的下半部分輸入框中填入Repository ID和Repository Name即可,比如分別填入 zfy 和 zfy repostiory,另外把Deployment Policy設(shè)置為Allow Redeploy,點擊save就創(chuàng)建完成了。

倉庫組的管理

將添加的新添加的代理倉庫加入 Public Repositories 倉庫組。選中 Public Repositories,在 Configuration 選項卡中,將要使用的倉庫從右側(cè) Available Repositories 移到左側(cè) Ordered Group Repositories,save 保存。

調(diào)整順序,倉庫組中的倉庫順序界定了下載構(gòu)件的遍歷順序,所以,建議將代理的遠程中央倉庫放到最后,將私服放到它之前,但本地的一些項目放到最前面。

Maven中使用私服

從私服下載構(gòu)件

在setting.xml配置鏡像

用內(nèi)部倉庫鏡像遠程倉庫提高下載速度

<mirrors><mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <!-- * 表示讓所有倉庫使用該鏡像--> <url>內(nèi)部公共倉庫地址</url> </mirror> …可以配置多個。。。 </mirrors>

自己的項目部署到私服

在maven的settings.xml中配置要連接的私服的用戶名和密碼。 私服的用戶名和密碼在nexus私服的配置文件夾中配置: sonatype-work/nexus/conf/security.xml 內(nèi)置帳號:admin/admin123 提示:密碼已加密。

<!--正式版發(fā)行倉庫帳號--><server> <id>releases</id> <username>用戶名</username> <passWord>密碼</password></server><!--快照版發(fā)行倉庫帳號--><server> <id>snapshots</id> <username>用戶名</username> <password>密碼</password></server>

在要發(fā)布到私服的項目的pom.xml中配置,如:

<!-- 遠程倉庫的配置信息:用于發(fā)布項目到私服 --> <distributionManagement> <repository> <!-- 此處id必須和settings.xml中的server中配置的一致 --> <id>local-releases</id> <name>Internal Releases</name> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <!-- 此處id必須和settings.xml中的server中配置的一致 --> <id>local-snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>

注意事項: 1.id必須和settings.xml中的server元素中的id元素內(nèi)容一致! 2.url是私服倉庫地址。 3.配置文件中不能有中文!

發(fā)布到私服:mvn deploy

第三方構(gòu)件上傳到私服-直接在私服操作

第一步:先將普通的jar安裝到本地倉庫(mvn install命令)—將普通jar轉(zhuǎn)換為maven的構(gòu)件了。 第二步:切換到服務(wù)器管理界面,在3rd party倉庫選擇Artifact Upload,選擇From POM和Select Artifact(s) to Upload 生成 Artifacts


上一篇:[emacs]man mode

下一篇:awk

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 91不卡| 久久欧美精品 | 久久色网 | 久久人人爽人人爽人人片av软件 | 日本亚洲一区 | 日日摸夜夜添夜夜添亚洲女人 | 国产伦精品一区二区三区四区视频 | 欧美大片在线看免费观看 | 在线播放黄色网址 | 超碰在线最新 | 黑人精品视频 | 黄色免费网站 | 国产精品久久久久久久久久 | 夜夜操av | 麻豆精品久久久 | 91视频8mav| 久久精品 | 成人精品网| 欧美中文字幕 | 亚洲精品午夜aaa久久久 | 中文字幕亚洲一区二区三区 | 久久av网 | 中文字幕加勒比 | 久久无码精品一区二区三区 | 日韩在线免费观看网站 | 国产免费自拍 | 黄色你懂的| 在线播放一区二区三区 | a黄视频| 天堂资源最新在线 | 欧美日本不卡 | 午夜在线| 免费高清av | 综合久久综合久久 | 91社影院在线观看 | 精品一二三区视频 | 欧美一级片在线观看 | 久久com | 操老逼| 久二影院| 黄色a在线观看 |