欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
關(guān)于Maven

Maven的核心對你項目構建中特定的任務(wù)幾乎毫無(wú)所知。它本身不知道如何編譯你的代碼,

甚至不知道如何制作一個(gè)JAR文件,它把這些所有的任務(wù)交給了Maven插件。

1.Maven插件和目標(pluginId:goalId)

一個(gè)插件是一個(gè)或者多個(gè)目標的集合。

一個(gè)目標是一個(gè)明確的任務(wù)

mvn arthetype:create(arthetype表示插件,create表示目標)

 -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple 

-DpackageName=org.sonatype.mavenbook

 這是傳入的參數,以-D開(kāi)頭,分別傳入了groupId和artifactId,packageName等。

2.Maven生命周期

是一個(gè)項目編譯的生命周期,比如:驗證,測試,發(fā)布等。當Maven經(jīng)過(guò)package為結尾的默認生命周期的時(shí)候,則會(huì )按照下面的生命周期執行:

resuorce:resources(復制資源到輸出目錄)/

compiler:compile(編譯源碼和其他任何配置得資源目錄到輸出目錄)/

resource:textResource(到測試輸出目錄)/compiler:testCompile(到測試輸出目錄)/

surefire:test(運行測試)/jar:jar(把輸出目錄打包成JAR文件)

也可以在命令中指定步驟:mvn resuorce:resources compiler:compile。。。

3.Maven坐標

紅色的部分為目標,已經(jīng)標記出來(lái)。坐標就想標記一樣,當需要引用或者其關(guān)聯(lián)其他項目的時(shí)候,Maven通過(guò)坐標來(lái)精確定位一個(gè)項目。

Maven坐標通常用冒號來(lái)作為分隔符書(shū)寫(xiě),像下面的格式:groupId:artifactId:packaging:version。比如上面可以表示為mavenbook:my-app:pachaging:version。這個(gè)符號也可以用于項目依賴(lài)。

groupId:團體的標示,比如org.apache

artifactId:在groupId下單獨項目的唯一標識符

version:一個(gè)項目的特定版本。發(fā)布的項目有一個(gè)固定的版本標識來(lái)指向該項目的某一個(gè)特定版本。

Packaging:項目的類(lèi)型,默認是jar。

4.Maven倉庫

在一個(gè)Maven倉庫中,所有的東西存儲在一個(gè)與Maven項目坐標十分匹配的目錄結構中。標準如下:

比如前面那個(gè)項目,我們就已經(jīng)下載過(guò)來(lái)了junit。
 

5.添加依賴(lài)

添加依賴(lài),通過(guò)dependencies

<dependencies>

<dependency>

      <groupId>org.apache.commons</groupId>

      <artifactId>commons-io</artifactId>

      <version>1.3.2</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

對于只有在測試的時(shí)候用到的依賴(lài),可以加入scope=test來(lái)表示

6..關(guān)于測試

對于測試,不用做太多的特殊操作,在test文件夾下,寫(xiě)好測試的類(lèi)之后,只要運行mvn test。當然在運行mvn package或者mvn install的時(shí)候,你也運行了測試。

如果測試失敗,你依然像產(chǎn)生構建輸出,可以設置testFailureIgnore為true,甚至有時(shí)候你想跳過(guò)單元測試,那么可以添加skip屬性,跳過(guò)。

<plugin><!-- 失敗了以后還是繼續構建-->

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-surefire-plugin</artifactId>

        <configuration>

          <testFailureIgnore>true</testFailureIgnore>

          <skip>true</skip> <!--跳過(guò)單元測試-->

        </configuration>

      </plugin>

7.關(guān)于repositories和pluginRepositories

# <repository>  

#       <id>maven-net-cn</id>  

#       <name>Maven China Mirror</name>  

#       <url>http://maven.net.cn/content/groups/public/</url>  

#       <releases>  

#         <enabled>true</enabled>  

#       </releases>  

#       <snapshots>  

#         <enabled>false</enabled>  

#       </snapshots>  

#     </repository>  

# <pluginRepository>  

#       <id>maven-net-cn</id>  

#       <name>Maven China Mirror</name>  

#       <url>http://maven.net.cn/content/groups/public/</url>  

#       <releases>  

#         <enabled>true</enabled>  

#       </releases>  

#       <snapshots>  

#         <enabled>false</enabled>  

#       </snapshots>       

#     </pluginRepository>  

<repositories>的配置,你可以在它下面添加多個(gè)<repository> ,每個(gè)<repository>都有它唯一的ID,一個(gè)描述性的name,以及最重要的,遠程倉庫的url。此外,<releases><enabled>true</enabled></releases>告訴 Maven可以從這個(gè)倉庫下載releases版本的構件,而<snapshots><enabled>false</enabled></snapshots> 告訴Maven不要從這個(gè)倉庫下載snapshot版本的構件。禁止從公共倉庫下載snapshot構件是推薦的做法,因為這些構件不穩定,且不受你控制,你應該避免使用。當然,如果你想使用局域網(wǎng)內組織內部的倉庫,你可以激活snapshot的支持。

關(guān)于<repositories>的更詳細的配置及相關(guān)解釋?zhuān)瑓⒖迹篽ttp://www.sonatype.com/books /maven-book/reference_zh/apas02s08.html。

至于<pluginRepositories>,這是配置Maven從什么地方下載插件構件(Maven的所有實(shí)際行為都由其插件完成)。該元素的內部配置和<repository>完全一樣,不再解釋。

8.關(guān)于setting.xml

settings.xml對于maven來(lái)說(shuō)相當于全局性的配置,用于所有的項目。在maven2中存在兩個(gè)settings.xml,一個(gè)位于maven2的安裝目錄conf下面,作為全局性配置。對于團隊設置,保持一致的定義是關(guān)鍵,所以maven2/conf下面的settings.xml就作為團隊共同的配置文件。保證所有的團隊成員都擁有相同的配置。當然對于每個(gè)成員,都需要特殊的自定義設置,如用戶(hù)信息,所以另外一個(gè)settings.xml就作為本地配置

默認的倉庫地址在超級pom中,我可以找到這個(gè)文件:${M2_HOME}/lib/maven-2.0.10-uber.jar ,打開(kāi)該文件,能找到超級POM:\org\apache\maven\project\pom-4.0.0.xml ,它是所有Maven POM的父POM,所有Maven項目繼承該配置,你可以在這個(gè)POM中發(fā)現如下配置:

Xml代碼 

1 <repositories>  

2   <repository>  

3     <id>central</id>  

4     <name>Maven Repository Switchboard</name>  

5     <layout>default</layout>  

6     <url>http://repo1.maven.org/maven2</url>  

7     <snapshots>  

8       <enabled>false</enabled>  

9     </snapshots>  

10   </repository>  

11 </repositories>  

可以在pom文件或者setting文件中覆蓋這個(gè)選項。

9.引入sun包,比如servlet,jdbc等

你必須為所有 Sun Microsystems 維護的 J2EE API 重復同樣的過(guò)程,包括 JNDI, JDBC, Servlet, JSP, JTA, 以及其它。幸運的是,有一種更簡(jiǎn)單的方法來(lái)下載所有這些類(lèi)庫并安裝到本地倉庫 —— Apache Geronimo 的獨立的開(kāi)源實(shí)現。

添加像 JSP API  或者 Servlet API 這樣的依賴(lài)現在很簡(jiǎn)單明了了,不再需要你從 web 站點(diǎn)手工下載 JAR 文件然后再安裝到本地倉庫。 關(guān)鍵是你必須知道去哪里找,使用什么 groupId, artifactId, 和 version 來(lái)引用恰當的 Apache Geronimo 實(shí)現。給 pom.xml 添加如下的依賴(lài)元素以添加對 Servlet 規格說(shuō)明 API 的依賴(lài)。.

Example 5.7. 添加 Servlet 2.4 規格說(shuō)明作為依賴(lài)

<project>

  [...]

  <dependencies>

    [...]

    <dependency>

      <groupId>org.apache.geronimo.specs</groupId>

      <artifactId>geronimo-servlet_2.4_spec</artifactId>

      <version>1.1.1</version>

      <scope>provided</scope>

    </dependency>

  </dependencies>

  [...]

</project>

所有 Apache Geronimo 規格說(shuō)明的實(shí)現的 groupId 都是 org.apache.geronimo.specs 。這個(gè) artifactId 包含了你熟悉的規格說(shuō)明的版本號;例如,如果你要引入 Servlet 2.3 規格說(shuō)明,你將使用的 artifactId 是 geronimo-servlet_2.3_spec ,如果你想要引入 Servlet 2.4 規格說(shuō)明,那么你的 artifactId 將會(huì )是 geronimo-servlet_2.4_spec 。

10. SNAPSHOT版本、LATEST 和 RELEASE 版本

如果一個(gè)版本包含字符串“SNAPSHOT”,Maven就會(huì )在安裝或發(fā)布這個(gè)組件的時(shí)候將該符號展開(kāi)為一個(gè)日期和時(shí)間值,轉換為UTC(協(xié)調世界時(shí))。例如,如果你的項目有個(gè)版本為“1.0-SNAPSHOT”并且你將這個(gè)項目的構件部署到了一個(gè)Maven倉庫,如果你在UTC2008年2月7號下午 11:08部署了這個(gè)版本,Maven就會(huì )將這個(gè)版本展開(kāi)成“1.0-20080207-230803-1”。

當你依賴(lài)于一個(gè)插件或一個(gè)依賴(lài),你可以使用特殊的版本值LATEST或者RELEASE。LATEST是指某個(gè)特定構件最新的發(fā)布版或者快照版 (snapshot),最近被部署到某個(gè)特定倉庫的構件。RELEASE是指倉庫中最后的一個(gè)非快照版本。

11.使用Nexus管理倉庫

倉庫管理器有兩個(gè)服務(wù)的目的:首先它的角色是一個(gè)高度可配置得介于你的組織與公開(kāi)Maven倉庫之間的代理,其次他為你的組織提供了一個(gè)可部署你組織內部生成的構建的地方。

優(yōu)點(diǎn):1.節省時(shí)間和帶寬。2.提供一種控制Maven下載的機制。3.內部的統一依賴(lài)

組:

Nexus包含排序好的倉庫組,他們能讓你通過(guò)一個(gè)單獨的URL暴露一系列的倉庫。通常會(huì )有兩個(gè)默認的組:Public Respositories組和Public Snapshot Repositorries。這樣不需要知道來(lái)自哪個(gè)特定的倉庫,只需要能夠瀏覽公共倉庫組就可以了。

要使用Nexus,需要配置Maven去檢查Nexus而非公共的倉庫,為此,需要編輯在你的.m2/setting.xml文件中的mirror配置,

這樣配置以后,Maven會(huì )從本地的Nexus安裝查閱,而非去外面查閱中央Maven倉庫,如果對Nexus有一個(gè)構件請求,本地的Nexus安裝會(huì )提供這個(gè)構件,如果Nexus沒(méi)有這個(gè)構件,Nexus會(huì )從遠程倉庫下載,然后添加至遠程倉庫的本地鏡像。

配置為從本地庫下載:(參考1)

添加新的倉庫:

在添加所有的地址包括快照版都請求向Nexus后,有可能會(huì )照成一些依賴(lài)不能下載。比如Apache Shindig,即使他的pom.xml種定義了一個(gè)倉庫區獲取構建,并且指向了http://google-caja.googlecode.com/svn/maven,但是,由于我們配置了所有請求都向公共組,Nexus不會(huì )從一個(gè)她=它不知道的倉庫中區獲取構件。這有兩個(gè)方法:1.將所有請求改為central請求,不讓Nexus public組mirrorof所有的倉庫。2.添加新的倉庫

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持續集成環(huán)境(一)
maven倉庫管理器Nexus
Maven初探
持續集成之路——搭建Maven私服
Maven多項目依賴(lài)配置
Web-第二十五天 Maven學(xué)習一【悟空教程】
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久