麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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很好的與全部這些工作集成,本實驗關注

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 二区三区四区视频 | 欧美日韩国产成人在线观看 | 欧美在线观看禁18 | 特级无码毛片免费视频尤物 | 黄色毛片一级 | 日韩黄色一级视频 | 国产一区二区三区手机在线 | 日本黄色一级视频 | omofun 动漫在线观看 | 国产精品久久久乱弄 | 性爱视频在线免费 | 中文字幕精品久久 | 成人小视频免费在线观看 | 一级毛片真人免费播放视频 | 草逼一区 | 日韩毛片网 | 精品国产乱码久久久久久丨区2区 | 日日鲁夜夜视频热线播放 | 污黄视频在线观看 | 中文字幕四区 | 91成人在线免费 | 极品国产91在线网站 | xxxx8| 在线91观看 | 免费一级片网站 | 免费观看黄色片视频 | 国产一级aaa全黄毛片 | 日本s级毛片免费观看 | 亚洲福利视频52 | 久久精品中文字幕一区 | 久久久久久久久久亚洲 | 在线播放视频一区二区 | 国产一区二区高清在线 | 久久亚洲国产精品 | a网站在线 | 久久男人的天堂 | 久久91精品| 亚洲午夜电影 | 黄色网址电影 | 精品一区二区三区毛片 | 午夜国产福利 |