yxhxj2006

          常用鏈接

          統計

          最新評論

          Maven實戰(5)坐標詳解

          1.為什么要定義Maven坐標 
               在我們開發Maven項目的時候,需要為其定義適當的坐標,這是Maven強制要求的。在這個基礎上,其他Maven項目才能應用該項目生成的構件。 

          2.Maven坐標詳解

               Maven坐標為各種構件引入了秩序,任何一個構件都必須明確定義自己的坐標,而一組Maven坐標是通過一些元素定義的,它們是groupId,artifactId,version,packaging,class-sifer。下面是一組坐標定義:

            

          Xml代碼  收藏代碼
          1. <groupId>com.mycompany.app</groupId>  
          2.   <artifactId>my-app</artifactId>  
          3.   <packaging>jar</packaging>  
          4.  <version>0.0.1-SNAPSHOT</version>  

           下面講解一下各個坐標元素:

           

          groupId :定義當前Maven項目隸屬的實際項目。首先,Maven項目和實際項目不一定是一對一的關系。比如SpringFrameWork這一實際項目,其對應的Maven項目會有很多,如spring-core,spring-context等。這是由于Maven中模塊的概念,因此,一個實際項目往往會被劃分成很多模塊。其次,groupId不應該對應項目隸屬的組織或公司。原因很簡單,一個組織下會有很多實際項目,如果groupId只定義到組織級別,而后面我們會看到,artifactId只能定義Maven項目(模塊),那么實際項目這個層次將難以定義。最后,groupId的表示方式與Java包名的表達方式類似,通常與域名反向一一對應。

           

          artifactId : 該元素定義當前實際項目中的一個Maven項目(模塊),推薦的做法是使用實際項目名稱作為artifactId的前綴。比如上例中的my-app。

           

          version : 該元素定義Maven項目當前的版本

           

          packaging :定義Maven項目打包的方式,首先,打包方式通常與所生成構件的文件擴展名對應,如上例中的packaging為jar,最終的文件名為my-app-0.0.1-SNAPSHOT.jar。也可以打包成war, ear等。當不定義packaging的時候,Maven 會使用默認值jar

           

          classifier: 該元素用來幫助定義構建輸出的一些附件。附屬構件與主構件對應,如上例中的主構件為my-app-0.0.1-SNAPSHOT.jar,該項目可能還會通過一些插件生成如my-app-0.0.1-SNAPSHOT-javadoc.jar,my-app-0.0.1-SNAPSHOT-sources.jar, 這樣附屬構件也就擁有了自己唯一的坐標

          posted on 2012-08-23 21:53 奮斗成就男人 閱讀(333) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 江都市| 威远县| 佛教| 瑞金市| 武邑县| 靖江市| 岳阳市| 阿克苏市| 松阳县| 华宁县| 汾西县| 嘉善县| 麻栗坡县| 江川县| 和政县| 阿合奇县| 娄烦县| 尚义县| 文山县| 洛阳市| 吉水县| 大宁县| 沐川县| 潜山县| 鄱阳县| 咸阳市| 烟台市| 伊吾县| 武穴市| 清徐县| 宁德市| 和硕县| 泌阳县| 隆德县| 宁武县| 西峡县| 自贡市| 潼关县| 咸阳市| 六枝特区| 延安市|