亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Maven起步——教你開始使用Maven二(圖)

2019-11-18 13:03:56
字體:
來源:轉載
供稿:網友

  現在,運行jar目標并且看看Maven的輸出吧;它將包含下面如下這些。
  
  Attempting to download sPRing-core-1.1.4.jar.266K downloadedAttempting to download spring-web-1.1.4.jar.111K downloaded
  
  圖1-1顯示了jar目標觸發的一系列事件:
  
  1.Maven查看POM,依據project.xml的定義,看到在springframework組中的兩個人造物的依靠關系。它將載你本地Maven的資源庫中檢查spring-core-1.1.4.jar和spring-web-1.1.4.jar。
  
  2.當Maven找不到這些文件,它將到http://www.ibiblio.org/maven/springframework/jars/尋找JAR文件。這些JAR文件會被下載并放置于你本地Maven的資源庫中。它們也被添加到你項目的classpath中。下次在你的項目查詢這些文件時,Maven將在你本地的資源庫中提供它們。
  
 Maven起步——教你開始使用Maven二(圖)(圖一)

  
圖1-1.Maven本地和遠程資源庫為test application項目提供的spring Jar

  
  剛剛發生了什么?
  
  Maven為你節省了相當的時間和不必要的麻煩。Maven到來之前,依靠關系經常被捆綁到一個項目的目錄或者項目應該指向到添加正確的JAR到你的classpath。使用Maven治理依靠關系顯然有著明顯的優勢;作為初學者,假如你的項目依靠30個外部的JAR文件,這就不需要在你的資源庫中存儲成兆的JAR文件。這意味著當你在項目的外部檢查資源控制的時候更少的存儲空間和更快的下載時間。另外,假如你有多個項目依靠相同的外部依靠,Maven僅需要下載一次依靠關系,并且每個項目引用一個單獨的副本在你本地的資源庫中。當依靠關系能夠從Maven資源庫遠程下載的時候,沒有強制的原因讓你存儲你項目的依靠關系的版本。
  
  當Maven下載依靠關系,其在你本地的機器上從遠程的Maven資源庫拷貝一個文件到你本地的Maven資源庫。Maven如何定位依靠關系的?它使用project.xml中dependency元素的信息,如圖1-2所示。
  
 Maven起步——教你開始使用Maven二(圖)(圖二)

  
圖1-2.POM和Maven資源庫的映射

  
  指定的groupId告訴Maven查看特定的目錄-springframework。指定type告訴Maven查找特定的子目錄如jar和war(注重s是Maven附加到type元素上的);本例中,type是被忽略的,JAR類型是默認類型。當你指定了artifactId,你正告訴Maven哪個文件將從jar目錄下載。頂級目錄表現為組標示符,JAR文件名的第一部分表現為artifact標示符,文件名最后的部分,包括擴展名表現為version標示符。Maven使用下面的公式來決定一個來自于資源庫中的依靠關系。[REPO_ROOT]參考你遠程的資源庫:
  
  [REPO_ROOT]/<groupId>/<type>s/<artifactId>-<currentVersion>.<type>
  
  提示
  
  Maven2.0的說明中,資源庫可能開始于類似java包的結構。作為springframework的替代,groupId被提議的結構為org.springframework.另外,每個版本將有一個分隔目錄用以增加Maven資源庫的效率。更多有關改變的提交建議,參見http://docs.codehaus.org/display/ MAVEN/Repository+Layout+-+Final.
  
  一個本地的資源庫來處理依靠關系。在Unix機器上,你的Maven資源庫能在~/.maven/repository目錄找到,在Windows機器上,你的Maven的資源庫在你的%USERPROFILE%目錄。假如你看一看本地Maven的資源庫,你將會注重到它正包含一個springframework的目錄。%USERPROFILE%/.maven/repository/springframework/jars目錄包含spring-core依靠關系的兩個:spring-core-1.1.4.jar文件和spring-core-1.1.4.jar.md5文件,其包含MD5文件用于驗證sprint-core JAR文件的完整性。Maven 1當前并沒有使用MD5來驗證完成品的完整性,但在將來的版本可能會用其來驗證完成品的完整性。
  
  提示
  
  在Windows機器上,%USERPROFILE%通常決定于C:/D-ocuments and Settings/vmassol這種目錄。%USERPR-OFILE%被用在Unix的主目錄。(%USERPROFILE% isused in the spirit of the abbreviation for a Unix home Directory.)
  
  關于......使用id元素?
  
  假如你工作在現存的Maven項目,你可能有依靠關系使用id元素。下面的dependencies元素示范了使用單獨id元素來附加Jakarta Commons Math的1.0版本:<;dependencies><;dependency><;id>commons-math<;/id><;version>1.0<;/version><;/dependency><;/dependencies>單獨使用id元素工作僅在groupId和artifactId匹配時,假如你瀏覽Maven資源庫,你將看到下面的目錄結構:
  
  /commons-math
  /jars
  commons-math-1.0.jar
  commons-math-1.1.jar
  
  使用id元素工作,單獨的id標記已經不被贊成使用并在Maven 2中消失。當你看到別的Maven項目中使用dependencies的速記符號時,請嘗試使用groupId和artifactId來標識你的依靠關系。
  
  依靠快照
  
  假如你開發的程序依靠的依靠關系經常改變,你可能想將依靠的每個依靠關系替代為最近構件的硬編碼的版本。在一個項目依靠的依靠關系還處在beta的版本,或你正開發一系列項目依靠的Maven項目時時非凡有用,這將在第3章論述。本實驗,你將學習到如何依靠快照。
  
  我該如何做?
  
  在你的依靠關系塊兒中指定一個明確的版本,使用SNAPSHOT要害字作為版本名稱的一部分。每次你執行Maven目標時,Maven將從遠程資源庫中檢查較新的依靠關系。假如遠程資源庫的版本較新Maven將下載其到本地資源庫。例如:下面的依靠關系將一直下載spring的新版JAR文件。
  <dependency>
  <groupId>springframework
  </groupId>
  <artifactId>spring
  </artifactId>
  <version>1.2-SNAPSHOT
  </version>
  </dependency>
  
  剛剛發生了什么?
  
  當你使用SNAPSHOT依靠關系,你正告訴Maven使用遠程資源庫的最新版本。在你使用多項目插件或者當你依靠的一個完成品尚處于開發階段這將得心應手。在你工作的團隊僅有較少的開發者組成時,最好也常這么做。你將使用SNAPSHOT依靠關系當你的項目依靠一個最近的開發或者非正式版本的非凡組件。SNAPSHOT依靠關系應該在開發階段被保留,并且,概括說,你不用改發布一個依靠于SNAPSHOT依靠關系的項目。
  
  執行脫機構建
  
  假如你需要在一個離線的情況下使用Maven,你可能需要知道如何確使Maven不檢查最新的SNAPSHOT依靠關系。本實驗將向你展示如何用Maven執行脫機構建。
  
  我該如何做?
  
  這個方法很簡單:僅僅使用-o命令行選項。例如,假如你沒有網絡連接,但又想執行測試目標,運行Maven -o test。Maven將執行這個test目標而不檢查依靠關系。假如你的項目沒有依靠SNAPSHOT構建,你也可以斷看你的環境來添加-o標志。假如你依靠SNAPSHOT構建,你將需要使用-o標志,Maven將在每次執行目標時嘗試檢查最新的SNAPSHOT。在這種情況下不使用-o標志本項目將不會構建成功。
  
  關于...... 執行離線構建假如你不想下載任何完成品?
  
  當然,這將不會工作。離線構建的工作,你必須已經有必需的依靠關系在你本地的資源庫。項目最簡單的獲得Maven下載依靠
  
  關系的方法是在每個Maven項目實例簡單的運行“noop”目標,build:start。這個目標執行之前任何其它的目標并不執行任何動作。假如你運行build:start,Maven將從project.xml獲得獲取任何依靠關系。
  
  使用Maven控制臺
  
  假如你再三的從命令行運行Maven,你可以通過Maven控制臺來節省時間。Maven控制臺提供一個“外殼”,在這你可以鍵入目標的名稱來執行Maven。通過使用Maven可以避免每次載你想運行一個Maven目標時Java Virtual Machine(JVM)啟動的等待。
  
  我該如何做?
  
  Maven Console是一個插件,你可以通過鍵入maven console在命令提示符。這將產生下面的輸出:
  __ __
   // __ _Apache__ ___
   // / _` / V / -_) ' / ~ intelligent projects ~
  _ _/__,_/_//_____ v. 1.0.2The following commands are available:list - list all available goalshelp - this message<goalname> - attain a goalquit - quits the consoletest-application 1.0 >
  
  目前,你可以在命令行執行任何你能執行的目標。開始是一下;鍵入 java:compile。Maven將執行 java:compile目標并返回提示符其它的目標。在一個序列中運行兩個目標,你可以在提示符處輸入它們,通過“空格”-例如, clean test。眾所周知作為“goal chaining”這是你想通過Maven獲得指定一系列目標的方法。退出Maven Console,鍵入quit,查看有效目標列表,鍵入list。
  
  剛剛發生了什么?
  
  在Maven Console下Maven執行java:compile目標非常之快,不信么?當你使用Maven Console時你所執行的目標是在一個現成的JVM下。當你從命令行運行Maven時,你每次運行一個目標都不得不等待JVM的啟動。假如你不確信其對性能的提升,自己試試看。在命令行下運行java:complie 10次,再在Maven Console下同樣運行java:compile 10次。注重時間的差別,你將發現JVM啟動的時間開始增加。假如你找到你自己常用的Maven目標,Maven Console將通過啟動JVM一次為來節省時間。
  
  生成Eclipse項目
  
  我打賭你一定想在IDE下工作。Maven通過插件來與Eclipse,InelliJ,IDEA,JBuilder,JDeveloper以及Emacs集成。Maven很好的與全部這些工作集成,本實驗關注

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人精品久久一区二区三区| 欧美日韩一区二区在线播放| 国产欧美日韩中文| 国产亚洲精品美女久久久| 国a精品视频大全| 福利微拍一区二区| 日韩视频在线一区| 欧美成人免费小视频| 亚洲色图综合久久| 日韩视频免费看| 91在线观看免费高清完整版在线观看| 成人午夜两性视频| 亚洲成人网久久久| 欧美精品在线免费观看| 国产噜噜噜噜噜久久久久久久久| 欧美老女人bb| 亚洲国产精品大全| 91精品久久久久久久久久久久久| 庆余年2免费日韩剧观看大牛| 日本亚洲精品在线观看| 成人黄色av免费在线观看| 国产精品a久久久久久| 成人av.网址在线网站| 国模视频一区二区| 最近2019中文字幕大全第二页| 97超级碰碰人国产在线观看| 91久久国产婷婷一区二区| 欧美性视频精品| 日韩精品中文字幕在线| 国产在线一区二区三区| 国产精品久久久| 亚洲欧美在线免费观看| 亚洲美女av电影| 国产+成+人+亚洲欧洲| 精品国产视频在线| 亚洲欧美日韩国产中文| 欧美日韩国产精品一区| 成人免费看黄网站| 欧美国产日韩一区二区在线观看| 日韩欧美国产高清91| 国产欧美日韩丝袜精品一区| 欧美在线亚洲在线| 久久精品久久久久电影| 欧美日韩亚洲精品一区二区三区| 日韩精品视频在线播放| 亚洲国产精品推荐| 91精品久久久久久久久青青| 国产精品网红福利| 久久久久久久91| 日本在线观看天堂男亚洲| 国产一区二区三区在线播放免费观看| 久久久亚洲成人| 欧美黑人性猛交| 成人网页在线免费观看| 在线观看视频亚洲| 在线观看日韩专区| 国产精品高精视频免费| 国产精品久久久久aaaa九色| 精品久久中文字幕久久av| 在线激情影院一区| 欧美精品情趣视频| 欧美在线国产精品| 欧美日韩亚洲一区二| 亚洲福利视频专区| 久久综合久久八八| 亚洲精品美女久久久| 久久成人人人人精品欧| 91视频免费网站| 国产91成人在在线播放| 91久久国产精品91久久性色| 久久99久久99精品免观看粉嫩| 中文字幕精品av| 国产91在线播放九色快色| 91精品免费久久久久久久久| 国产精品国产福利国产秒拍| 亚洲精品国产品国语在线| 亚洲第一福利在线观看| 91在线免费网站| 一区二区日韩精品| 日韩精品在线观看一区| 亚洲夜晚福利在线观看| 亚洲午夜av久久乱码| 亚洲а∨天堂久久精品喷水| 黑人巨大精品欧美一区二区一视频| 日韩三级影视基地| 久久成人亚洲精品| 亚洲福利视频网站| 亚洲电影av在线| 国产+成+人+亚洲欧洲| 国产精品视频xxxx| 欧美日韩国产中文字幕| 日本精品免费观看| 26uuu另类亚洲欧美日本老年| 欧美色另类天堂2015| 久久精品视频导航| 色狠狠av一区二区三区香蕉蜜桃| 国产免费一区视频观看免费| 日本久久久久亚洲中字幕| 亚洲r级在线观看| 亚洲成人a**站| 影音先锋欧美精品| 精品国产欧美一区二区三区成人| 精品国产鲁一鲁一区二区张丽| 有码中文亚洲精品| 日韩一区二区三区xxxx| 亚洲精品成人久久电影| 成人欧美一区二区三区黑人| 亚洲人成网7777777国产| 韩国三级电影久久久久久| 亚洲精品视频免费在线观看| 91美女片黄在线观| 亚洲精品国产精品乱码不99按摩| 91精品成人久久| 亚洲电影成人av99爱色| 精品国内自产拍在线观看| 尤物九九久久国产精品的特点| 欧美激情在线视频二区| 在线播放日韩精品| 欧美激情一区二区三区在线视频观看| 精品久久久久久久久久久久久| 国产精品久久999| 九九热精品视频国产| 国产女精品视频网站免费| 97在线看免费观看视频在线观看| 韩国国内大量揄拍精品视频| 国产欧美久久一区二区| 亚洲第一av网| 久久久亚洲成人| 欧美黄网免费在线观看| 欧美精品在线免费观看| xxxx欧美18另类的高清| 国产日韩在线观看av| 亚洲国模精品一区| 97热精品视频官网| 亚洲偷熟乱区亚洲香蕉av| 国产在线久久久| 欧美日韩性视频| 日韩有码片在线观看| 亚洲级视频在线观看免费1级| 久久久在线视频| 国产成人一区二区三区小说| 7777免费精品视频| 国产亚洲精品va在线观看| 亚洲成人久久一区| 精品国内产的精品视频在线观看| 亚洲天堂一区二区三区| 欧美日在线观看| 爱福利视频一区| 日韩欧中文字幕| 91国产高清在线| 国产一区二区欧美日韩| 久久久久久久久久久久av| 日韩最新中文字幕电影免费看| 成人性生交xxxxx网站| 亚洲wwwav| 国产中文日韩欧美| 日韩在线激情视频| 欧美激情在线狂野欧美精品| 国产一区二区丝袜高跟鞋图片| 久久精品最新地址| 亚洲女性裸体视频| 亚洲乱码一区二区| 欧美另类极品videosbestfree| 精品成人69xx.xyz|