自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用Maven進(jìn)行開發(fā)過程管理

開發(fā) 項(xiàng)目管理
Maven是一個項(xiàng)目管理的工具。它對制件和制件間的依賴進(jìn)行了管理,并使用內(nèi)置定義生命周期來明確項(xiàng)目管理的階段,同時提供了在各階段插入插件的框架。

  小明作為一個新進(jìn)開發(fā)人員,進(jìn)入了 職業(yè)生涯的第一個軟件項(xiàng)目,平日學(xué)習(xí)的開發(fā)技術(shù)就可以派上用場了。整個項(xiàng)目組在合作過程結(jié)果碰到了許多問題:

  1. 小明從SVN拉下分支,準(zhǔn)備開發(fā)環(huán)境導(dǎo)入,結(jié)果失敗。發(fā)現(xiàn)自己用的開發(fā)環(huán)境和公司的環(huán)境不同。

  2. 小明運(yùn)行寫好的程序,結(jié)果發(fā)現(xiàn)數(shù)據(jù)庫無法連接,找了許多配置文件后,發(fā)現(xiàn)原來是自己的某個配置項(xiàng)有問題。

  3. 整體單元測試,情況無法生成報告,觀察整體項(xiàng)目情況。

  4. 小明在更新別人的許多代碼后,發(fā)現(xiàn)程序起不來了,定位問題花了很長時間。

  5. 小明的程序明明改了,可結(jié)果就是跟沒改前一樣。確實(shí)程序都發(fā)布了啊,后來發(fā)現(xiàn)程序依賴了一個jar包的兩個版本,而之前的版本先被加載了。

  6. 檢驗(yàn)代碼風(fēng)格,規(guī)范遵循花了很長時間,且有漏網(wǎng)的。

  二、 基本概念

  Maven是一個項(xiàng)目管理的工具。它對制件和制件間的依賴進(jìn)行了管理,并使用內(nèi)置定義生命周期來明確項(xiàng)目管理的階段,同時提供了在各階段插入插件的框架。

  1 生命周期管理:

  |概念:

  1.生命周期(lifecycle): 對于軟件開發(fā)過程做了抽象,將其分成不同階段。在不同階段調(diào)用綁定的插件來解決特定的問題。

  2. 插件(plugin):對于過程中需要做的功能集合。比如驗(yàn)證文件布局,文件樣式;生成覆蓋率報告;打包等。

  3. 目標(biāo)(goal):開發(fā)過程中需要做的功能。例如打包等。

  l 目標(biāo):

  開發(fā)經(jīng)理可裁剪需要的生命周期,并將生命周期內(nèi)需要做的功能如打包,生成報告,項(xiàng)目規(guī)范的檢驗(yàn)等通過插件實(shí)現(xiàn),并綁定到相應(yīng)的階段。在不同的地點(diǎn),讓其生命周期重演來確保開發(fā)過程與要求的一致性以及結(jié)果的可重演性。

  其核心是維持了生命周期(Project Lifecycle),并且在周期中根據(jù)POM配置可調(diào)用相應(yīng)的可配置插件來實(shí)施個階段需要做的工作,且運(yùn)行周期目標(biāo)時,會調(diào)用其先周期綁定的目標(biāo)。

  2 依賴管理:

  l 概念:

  1. 構(gòu)件(Artifact):構(gòu)件是對一個重用單元的抽象。在java中可以是jar包,war包;在c++中可以是dll等。在maven中每一個構(gòu)件(artifact)都有唯一標(biāo)識,由groupId,artifactId ,version三要素組成。

  2. 依賴(dependency):構(gòu)件需要另一個構(gòu)件才能進(jìn)行操作的一種關(guān)系。一個構(gòu)件的所有依賴通過pom文件的dependency節(jié)點(diǎn)來說明。

  l 目標(biāo):

  在運(yùn)行時掃描pom并得到相應(yīng)的依賴,然后對每一個依賴的制件的依賴再做提取,最后形成一顆依賴樹。

  l 解決的問題:

  增加重用性:將可以重用部分的代碼做成制件,增加重用度,減少耦合,降低維護(hù)成本。

  發(fā)現(xiàn)循環(huán)依賴:循環(huán)依賴會造成無法重用處在循環(huán)依賴中的任意制件,并造成局部問題的擴(kuò)大化。

  解決jar hell問題:發(fā)現(xiàn)依賴樹中同時依賴了一個制件的不同版本。對于java而言,兩個jar包的同一全名的類只會加載一個,造成運(yùn)行結(jié)果和預(yù)期結(jié)果的差異,使用其結(jié)構(gòu)可以提前發(fā)現(xiàn)并解決。

原文鏈接:http://www.cnblogs.com/jinspire/archive/2011/10/17/2214554.html

【編輯推薦】

  1. 軟件項(xiàng)目管理者的管理風(fēng)格
  2. 銀行核心業(yè)務(wù)系統(tǒng)項(xiàng)目階段性總結(jié)
  3. 愚蠢的項(xiàng)目經(jīng)理與聰明的程序員
  4. 項(xiàng)目設(shè)計(jì)與范圍管理之項(xiàng)目啟動
  5. 軟件產(chǎn)品經(jīng)理該如何滿足用戶的需求
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2013-08-06 09:37:27

漏洞管理漏洞掃描漏洞

2014-10-13 09:50:11

TomcatMaven

2010-02-22 17:20:45

Python開發(fā)

2010-06-12 15:41:28

UML建模

2010-07-21 14:42:15

Windows Pho

2013-07-18 13:44:13

2017-09-08 17:25:18

Vue探索實(shí)踐

2020-10-12 10:41:15

Linux 代碼 開發(fā)

2011-06-15 15:29:25

Qt C++

2010-03-04 09:54:24

Android開發(fā)

2012-07-05 09:33:49

Nexus 7

2010-05-27 12:30:52

MySQL工具

2012-02-28 14:48:41

2022-07-31 19:59:42

文檔管理工具互聯(lián)網(wǎng)

2010-06-18 10:21:01

UML建模

2016-12-30 11:10:32

Hadoop開發(fā)JVM

2011-09-05 17:07:45

MTK手機(jī)軟件

2015-09-25 10:02:52

BlocksDelegates開發(fā)

2010-06-02 10:00:25

MySQL工具

2018-07-31 09:02:15

開發(fā)者技能Google
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號