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

Maven是什么?回顧Java社區(qū)的變革

開發(fā) 后端
Maven是一套項(xiàng)目管理框架,但這并不是Maven的全部。本文對(duì)Maven是什么進(jìn)行了一番比較詳細(xì)的描述,并對(duì)Maven的價(jià)值進(jìn)行了極高的評(píng)價(jià),認(rèn)為它是Java社區(qū)的一次變革。

大家應(yīng)該都知道Maven是一種Java技術(shù),是Ant的進(jìn)化,并且在Java社區(qū)中引發(fā)了一場(chǎng)變革。Maven提供了一套軟件項(xiàng)目管理的綜合性方案.無論是編譯,發(fā)布,文檔還是團(tuán)隊(duì)協(xié)作,Maven提供了必要的抽象,它鼓勵(lì)重用,并做了除了軟件構(gòu)建以外的許多工作.

然而,究竟Maven是什么?它就是一個(gè)工具么?

Maven是什么

Maven是一套項(xiàng)目管理框架,但這并不是Maven的全部.它是Maven作者能想得到的最顯而易見的三句話定義.但是這個(gè)名字是個(gè)毫無意義的抽象,它并沒有表達(dá)出Maven的強(qiáng)大功能和復(fù)雜性.太多的技術(shù)人員經(jīng)常使用三四個(gè)關(guān)鍵詞,來描述復(fù)雜的課題,并且重復(fù)的使用諸如"project management"和"enterprise software start"而沒有能表達(dá)出其具體的含義.

當(dāng)某人想要了解Maven是什么時(shí),他們通常會(huì)問"到底Maven是個(gè)什么東東?”,然后他們期待著一個(gè)短小的,概述的回答,"嗯,它是一個(gè)構(gòu)建工具,或者是一個(gè)腳本框架". Maven無法使用乏味的,毫無意義的單詞來解釋清楚.它是一個(gè)思想,標(biāo)準(zhǔn)以及軟件的綜合體,并且?guī)缀醪豢赡苋ヌ崛〕鲆粋€(gè)定義為一個(gè)簡(jiǎn)單的,概述性的定義.創(chuàng)新的思想往往很難用語言表達(dá)清楚.如果你對(duì)Maven的一個(gè)全面的,豐富的定義感興趣的話,你可以閱讀本介紹.它會(huì)首先想你提供所要遵循的概念和理論. 如果你閱讀本介紹,只是為了尋找某些內(nèi)容來告訴你的主管的話,你可以現(xiàn)在就轉(zhuǎn)到第二章去了.

如果Maven不是一個(gè)"項(xiàng)目管理框架",那它是什么呢? 下面是一種描述:Maven是標(biāo)準(zhǔn)、存儲(chǔ)格式以及一些軟件用以管理和描述項(xiàng)目。它為構(gòu)建、測(cè)試、部署項(xiàng)目定義了一個(gè)標(biāo)準(zhǔn)的生命周期。它提供了一個(gè)框架,允許遵循Maven標(biāo)準(zhǔn)的所有項(xiàng)目,方便的重用公用的構(gòu)建邏輯。Maven項(xiàng)目存在的Apache軟件基金會(huì),是一個(gè)開源社區(qū),它開發(fā)的軟件工具,基于一個(gè)通用的軟件對(duì)象模型(Project Object Model),也就是POM。本書重點(diǎn)關(guān)注Maven項(xiàng)目的核心部分——Maven 2,一個(gè)非常好的工具,它大大簡(jiǎn)化了軟件項(xiàng)目的管理流程。

你可能曾經(jīng)期待過一個(gè)更為淺顯易懂的答案,或許你撿起這本書是因?yàn)槟橙嗽?jīng)告訴過你Maven是一個(gè)構(gòu)建工具。別擔(dān)心,Maven可以做一個(gè)你要尋找的構(gòu)建工具,并且很多使用Maven作為另外的構(gòu)建工具的開發(fā)者們,都得到了一個(gè)很好的經(jīng)過調(diào)優(yōu)的構(gòu)建系統(tǒng)。當(dāng)你打算將Maven作為“另一個(gè)構(gòu)建工具”的時(shí)候,以這種有限的眼光去看待Maven,就如同去說Web瀏覽器不過是看看超文本罷了。

Maven以及與其相關(guān)的技術(shù),開始在Java社區(qū)產(chǎn)生了一種變革。

除了解決淺顯易懂,以及諸如簡(jiǎn)化構(gòu)建、文檔、發(fā)布以及部署的流程等問題以外,Maven也帶來了越來越引人注目的好處。

越來越多的項(xiàng)目和產(chǎn)品使用Maven作為他們項(xiàng)目管理的基礎(chǔ)。它變得易于在項(xiàng)目和構(gòu)建系統(tǒng)建立關(guān)系,并且在這個(gè)關(guān)系之上導(dǎo)航和做報(bào)告。Maven的標(biāo)準(zhǔn)格式允許為項(xiàng)目編碼使用一種“Semantic Web”。Maven的規(guī)范和中央倉庫為項(xiàng)目定義了一種全新的命名系統(tǒng)。使用Maven可以很容易的加入其他的依賴項(xiàng),并發(fā)布你自己的組件。

那么,現(xiàn)在來回答當(dāng)初的問題:Maven對(duì)于不同的人有不同的用途。它是一系列標(biāo)準(zhǔn)和解決問題的方式,而不僅僅只是一個(gè)軟件。它是一種將一系列軟件,使用統(tǒng)一的格式來描述,作為一個(gè)個(gè)互相依存的組件集合來處理的方式。它是個(gè)人和團(tuán)體如何協(xié)作來開發(fā)軟件系統(tǒng)的未來發(fā)展方向。一旦你理解了Maven,你就會(huì)奇怪以前沒有它是怎么做的開發(fā)。

【編輯推薦】

  1. OSGi是什么:Java語言的動(dòng)態(tài)模塊系統(tǒng)
  2. 答疑解惑:什么是JDBC?
  3. iBATIS是什么?
  4. 簡(jiǎn)述JSF是什么
  5. 和我共同了解Java是什么
責(zé)任編輯:yangsai 來源: CSDN博客
相關(guān)推薦

2022-10-14 14:48:57

2022-09-07 15:08:46

人工智能物聯(lián)網(wǎng)

2015-11-10 09:55:30

Swift調(diào)查期待

2021-07-28 14:22:57

智能手機(jī)蘋果小米

2014-12-16 18:49:11

社區(qū)化支持

2023-05-05 16:34:26

2022-10-28 08:46:57

變革型領(lǐng)導(dǎo)IT

2023-10-11 08:29:54

volatileJava原子性

2013-05-23 14:25:44

JDBC

2024-07-11 16:32:13

代碼Java

2019-01-03 14:31:40

NewSQL PingCAPTiDB

2017-03-21 23:29:44

DevOps運(yùn)維開發(fā)

2015-05-07 14:52:58

2009-06-15 10:11:31

2015-08-26 09:24:16

Java垃圾搜集器

2022-02-25 14:11:48

短網(wǎng)址Java算法

2009-09-16 16:35:08

OSGi是什么OSGi容器

2012-04-16 15:14:47

web設(shè)計(jì)

2015-05-26 14:10:00

點(diǎn)贊
收藏

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