在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是OpenDaylight的Maven

汽車電子技術 ? 來源:碼農與軟件時代 ? 作者:碼農與軟件時代 ? 2023-02-14 15:02 ? 次閱讀

新項目開發(fā)的通常做法:項目經(jīng)理從團隊抽調1名開發(fā)人員進行項目工程框架的搭建,剩余的開發(fā)人員先研究項目需求,并著手準備業(yè)務邏輯的設計。本地項目工程搭建后,上傳SVN或git配置庫,告知其他開發(fā)人員可以下載項目工程,啟動開發(fā)了。開發(fā)運維人員便進行代碼的編寫、編譯、測試以及打包等系列操作。我們將這一系列的操作稱為“構建”。

構建的實質是將我們編寫的Java源文件、XML配置文件、HTML頁面、CSS和JS文件等,通過某種方式組合在一起,變?yōu)榭蓪ν夥枕椖康倪^程。同時,構建過程中很多都是沒有技術含量且重復的工作,手工操作很無趣且太麻煩。最好能夠由手工模式轉變?yōu)樽詣踊J剑@樣可以大大節(jié)省時間。

構建的工具主要有:

(1). Make;

(2). Ant(Another Neat Tool):另一個整潔的工具;

(3). Maven;

(4). Gradle;

本文將介紹在SDN控制器OpenDaylight中使用的Maven工具。

一、Maven

Maven是Apache組織中一個開源項目,主要用于基于Java平臺的項目構建、依賴管理和項目信息管理。下面來看下其幾個核心概念:

1.坐標

坐標用于唯一標識構件(如jar,war等),坐標的元素包括groupId、artificatId、version、packaging、classifier,其中前3個是必須定義的,后2個是可選的。

①groupId:定義當前Maven項目隸屬的實際項目。

②artificatId:定義實際項目中的一個Maven項目(模塊),建議使用實際項目名稱作為其前綴。

③version:定義Maven項目當前所處的版本。

④packaging:定義Maven項目的打包方式。

⑤classifier:幫助構建輸出的一些附屬構件。

2.生命周期

如前所述,軟件人員每天的工作:項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等等,Maven對這些工作統(tǒng)一抽象為三個相互獨立的生命周期:clean、default和Site。其中,default生命周期的目的是構建項目,而site生命周期的目的是建立項目站點。下面詳細說明每種生命周期:

(1).clean生命周期的目的是清理項目,包含三個階段:

①pre-clean執(zhí)行一些清理前需要完成的工作;

②clean清理上一次構建生成的文件;

③post-clean執(zhí)行一些清理后需要完成的工作。

(2).default生命周期的目的是構建項目,定義構建時所需要執(zhí)行的所有步驟:

圖片

其中重要階段的解釋如下:

圖片

(3). pre-site的目的是建立項目站點,包含3個階段:

①site生成項目站點文檔;

②post-site執(zhí)行一些在生成項目站點之后需要完成的工作;

③site-deploy將生成的項目站點發(fā)布到服務器上。

需要說明的是,從命令行執(zhí)行maven任務實質上就是調用Maven的生命周期階段。例如執(zhí)行命令mvn clean install,則調用clean生命周期的clean階段和default生命周期的install階段,而實際上執(zhí)行的階段為clean生命周期的pre-clean、clean階段,以及default生命周期的從validate至install的所有階段。

3.插件

在Maven的生命周期中對軟件人員的工作進行了抽象,相當于做一個模板,具體的實現(xiàn)則由插件來完成。下面列出default生命周期的內置插件綁定關系及具體任務:

圖片

更加詳細的內容可以參考Apache Maven官網(wǎng):

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

4.倉庫

Maven通過倉庫來統(tǒng)一管理文件,同時,為了實現(xiàn)重用,項目構建后生成的構件也安裝或部署到倉庫中。Maven倉庫的分為本地倉庫和遠程倉庫,而遠程倉庫又包含中央倉庫、私服和其他公共庫。初始狀態(tài)下,本地倉庫是不存在的,當用戶執(zhí)行Maven命令后,則創(chuàng)建本地倉庫,并根據(jù)實際需要,從遠程倉庫下載構件至本地倉庫。

圖片

(1).本地倉庫:一般來說,在Maven項目目錄下,沒有諸如lib這樣用來存放依賴文件的目錄。當Maven在執(zhí)行編譯或測試時,如果需要依賴文件,它總是基于坐標使用本地倉庫的依賴文件。通過setting.xml文件標識:

D:/repository/

(2).遠程倉庫:相對本地倉庫而言;

(3).中央倉庫:是一個默認的遠程倉庫;包含了大部分的開源JAVA構件以及源碼等信息。Maven的安裝文件自帶了中央倉庫的配置。在Maven的安裝目錄下:$MAVEN_HOME\\lib\\maven-model-builder-3.3.9.jar

圖片

圖片

central為中央倉庫的唯一標識。

(4).私服:是一種特殊的遠程倉庫,架設在公司內部。當下載構件時,從私服下載,如果私服不存在,則私服請求提供服務。

5.Archetype

意為“原型”,可以理解為Maven項目的模板,以便用戶可以快速創(chuàng)建項目,同時針對同類項目保持相同的項目結構及配置約定。Archetype是通過maven-archetype-plugin插件實現(xiàn),官網(wǎng)鏈接:

http://maven.apache.org/archetype/maven-archetype-plugin/

三、Maven在OpenDaylight的使用

OpenDaylight使用Maven工具進行項目構建和依賴管理,并在構建簡單的簡易APP開發(fā)一文中對Maven的基礎進行介紹,鏈接如下:

https://docs.opendaylight.org/en/latest/developer-guide/developing-apps-on-the-opendaylight-controller.html

1. 修改settings.xml

為了從遠程倉庫下載OpenDaylight版本的依賴包,首先需要修改maven的settings.xml,并指定遠程倉庫的地址。事實上,OpenDaylight提供了預先寫好的settings.xml文件,其下載地址為:

https://github.com/opendaylight/odlparent/blob/stable/carbon/settings.xml

https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml

具體內容解釋如下:

圖片

Maven安裝以后,setting.xml文件存在兩個地方:

①USR_HOME/.m2/settings.xml,表示當前用戶范圍的配置文件;

②MAVEN_HOME/conf/settings.xml,表示全局范圍配置文件,修改后將影響本機所有的用戶配置。

詳細的setting文件說明參見鏈接:

https://maven.apache.org/settings.html。

2. 選擇Archetype

Archetype是一個Maven項目模板工具包,使用Archetype來生成項目骨架,可以使得開發(fā)人員在開發(fā)新的應用程序時,使用與OpenDaylight風格一致的最佳實踐方法。

OpenDaylight應用創(chuàng)建的Archetype可通過如下鏈接查詢:

https://nexus.opendaylight.org/#nexus-search;gav~org.opendaylight.archetypes~~~~

圖片

執(zhí)行命令:

圖片

通過交互構建hello示例應用,生成的文件視圖大致為:

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    2985

    瀏覽量

    106972
  • XML
    XML
    +關注

    關注

    0

    文章

    188

    瀏覽量

    33578
  • HTML
    +關注

    關注

    0

    文章

    280

    瀏覽量

    41011
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Maven-02-Maven簡介

    maven
    電子學習
    發(fā)布于 :2023年01月08日 17:11:25

    Maven-04-IDEA配置Maven

    maven
    電子學習
    發(fā)布于 :2023年01月08日 17:13:18

    Maven-01-Maven概述

    maven
    電子學習
    發(fā)布于 :2023年01月08日 17:15:37

    Maven 配置指南

    Maven 配置指南http://bbs.edu118.com/forum.php?mod=viewthread&tid=263&fromuid=231(出處: 信盈達IT技術社
    發(fā)表于 08-28 15:08

    在Linux平臺下面安裝Maven步驟說明

    Apache Maven,是一個軟件(特別是Java軟件)項目管理及自動構建工具,由Apache軟件基金會所提供。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目
    發(fā)表于 07-23 06:14

    Linux下的Maven安裝方法

    關鍵步驟如下: 1. 下載Maven包. 2. 解壓Maven包. 3.配置Maven系統(tǒng)參數(shù),驗證Maven是否正確安裝.
    發(fā)表于 07-23 08:01

    MyEclipse環(huán)境搭建Maven的開發(fā)環(huán)境

    一:Maven的下載安裝 1、安裝環(huán)境:win7 旗艦版 + MyEclipse2014 2、前置條件:JDK (本人用的jdk1.8) 3、maven下載: 說明:maven依賴于jdk,所以搭建
    發(fā)表于 11-28 16:13 ?1433次閱讀

    干貨:在Windows上安裝Maven及配置

    干貨:在Windows上安裝Maven及配置
    的頭像 發(fā)表于 06-20 09:24 ?2979次閱讀
    干貨:在Windows上安裝<b class='flag-5'>Maven</b>及配置

    如何從零開始學OpenDaylight

    OpenDaylight的邏輯架構分為應用層、控制器層和數(shù)據(jù)轉發(fā)層。其中,應用層聚焦網(wǎng)絡業(yè)務邏輯開發(fā),負責資源編排;控制器層進行全局網(wǎng)絡的管理;數(shù)據(jù)轉發(fā)層為各種網(wǎng)絡設備,負責數(shù)據(jù)的轉發(fā)。
    的頭像 發(fā)表于 02-14 14:04 ?2794次閱讀
    如何從零開始學<b class='flag-5'>OpenDaylight</b>

    OpenDaylight的運行環(huán)境

    OpenDaylight作為一種開源的SDN控制器,使用Java語言編寫,
    的頭像 發(fā)表于 02-14 14:08 ?1095次閱讀
    <b class='flag-5'>OpenDaylight</b>的運行環(huán)境

    OpenDaylight中的OSGi

    從寫單個類的打印Hello World小程序到OSGi模塊化開發(fā),確實存在較大的難度,本文將從模塊化、OSGI模型以及OSGI在OpenDaylight中的應用等方面進行介紹。
    的頭像 發(fā)表于 02-14 15:05 ?1020次閱讀
    <b class='flag-5'>OpenDaylight</b>中的OSGi

    OpenDaylight中的DataStore是什么

    SDN起源于校園網(wǎng),發(fā)揚光大于數(shù)據(jù)中心,現(xiàn)廣泛用于廣域網(wǎng),SDN控制器,可能管理著數(shù)十萬臺軟交換機,下發(fā)數(shù)百萬乃至上千萬條路由信息。因此,作為SDN控制器的開源項目OpenDaylight,無論是業(yè)務邏輯還是數(shù)據(jù)存儲,
    的頭像 發(fā)表于 02-14 15:13 ?1815次閱讀
    <b class='flag-5'>OpenDaylight</b>中的DataStore是什么

    如何理解Maven拉包原理,搞定Maven構建項目

    依賴是我們在使用 Maven 構建項目時最常使用的功能,通過依賴標簽,我們可以直接從Maven倉庫中引入對應的Jar包,無需手動再將Jar添加到目錄下了,可謂是十分方便,不過我們除了使用,還需要考慮多模塊下依賴之間的關系。
    發(fā)表于 05-25 09:50 ?781次閱讀
    如何理解<b class='flag-5'>Maven</b>拉包原理,搞定<b class='flag-5'>Maven</b>構建項目

    idea配置了maven但不顯示pom

    配置 Maven 是一個開發(fā)者常見的任務,通過 Maven 可以更方便地管理項目依賴和構建過程。在配置 Maven 的過程中,我們可能會遇到一些問題,比如沒有正確顯示 pom 文件。本文將詳細介紹
    的頭像 發(fā)表于 12-06 14:17 ?4082次閱讀

    idea如何添加maven

    Maven是一個開源的項目管理工具,它提供了一種簡單的方式來管理項目的依賴關系、構建過程和發(fā)布部署。本文將詳細介紹如何將Maven添加到你的項目中,并使用它來管理你的項目。 第一步:安裝Maven
    的頭像 發(fā)表于 12-06 14:56 ?1497次閱讀
    主站蜘蛛池模板: 四虎亚洲精品 | 亚洲美女视频一区二区三区 | 天天看片网站 | 久插视频| 一级无毛片 | 亚洲一区二区免费看 | 国产亚洲欧美成人久久片 | 狠狠干狠狠干狠狠干 | 天天操天天摸天天干 | 天天操天天摸天天碰 | 四虎.com | 国产在线成人一区二区 | 国模精品 | 手机看片日韩永久福利盒子 | 午夜大片在线观看 | 亚洲精品视频专区 | 男人天堂网在线视频 | 狠狠色狠狠色综合日日32 | 欧美一二三区在线 | 四虎美女 | 天堂资源最新版在线官网 | 好男人社区在线观看www | 国产爱搞| 天堂在线影院 | 亚洲乱亚洲乱妇41p 亚洲乱亚洲乱妇41p国产成人 | www午夜 | 欧美色图影院 | 色老头一区二区三区在线观看 | 国产精品福利午夜一级毛片 | 四虎影酷 | 日本五十交尾在线观看 | 流不尽奶水的大乳h | 天天看天天干天天操 | 天天综合天天综合色在线 | 天天综合天天做天天综合 | 天天做天天爱天天爽 | 日韩欧美在线中文字幕 | 天天操天天草 | 欧美草比 | 人人射人人干 | 黄色工厂在线播放 |