maven座標

maven經過座標惟一肯定一個jar包,它們是groupId,artifactId,version,packaging,class-sife。java

<groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
 <version>0.0.1-SNAPSHOT</version>

groupId :定義當前Maven項目隸屬的實際項目。首先,Maven項目和實際項目不必定是一對一的關係。好比SpringFrameWork這一實際項目,其對應的Maven項目會有不少,如spring-core,spring-context等。這是因爲Maven中模塊的概念,所以,一個實際項目每每會被劃分紅不少模塊。其次,groupId不該該對應項目隸屬的組織或公司。緣由很簡單,一個組織下會有不少實際項目,若是groupId只定義到組織級別,然後面咱們會看到,artifactId只能定義Maven項目(模塊),那麼實際項目這個層次將難以定義。最後,groupId的表示方式與Java包名的表達方式相似,一般與域名反向一一對應。spring

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

version : 該元素定義Maven項目當前的版本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, 這樣附屬構件也就擁有了本身惟一的座標code

相關文章
相關標籤/搜索