1. 程式人生 > >Maven實戰(五)座標詳解

Maven實戰(五)座標詳解

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, 這樣附屬構件也就擁有了自己唯一的座標

引用:

http://www.iteye.com/topic/1123231

http://maven.apache.org/pom.html#Maven_Coordinates

相關推薦

Maven實戰座標

1.為什麼要定義Maven座標 在我們開發Maven專案的時候,需要為其定義適當的座標,這是Maven強制要求的。在這個基礎上,其他Maven專案才能應用該專案生成的構件。 2.Maven座標詳解 Maven座標為各種構件引入了秩序,任何一個構件都必須明確定義自己的座

reactjs入門到實戰---- props

http://www.cnblogs.com/chenjinxinlove/category/837795.html 1》》》基礎的props使用     不可修改父屬性    getDefaultProps   對於外界/父元件的屬性值,無法直接修改,它是隻讀的。

Maven實戰 eclipse安裝maven外掛

eclipse安裝maven外掛的方式有兩種:   一種是線上安裝,開啟eclipse點選help–>Install New Software,然後輸入要下載外掛的連結地址    http://m2eclipse.sonatype.org/sites/m2e,如下

【Unity3D基礎教程】給初學者看的Unity教程Unity3D中的協程Coroutine

為什麼需要協程 在遊戲中有許多過程(Process)需要花費多個邏輯幀去計算。 你會遇到“密集”的流程,比如說尋路,尋路計算量非常大,所以我們通常會把它分割到不同的邏輯幀去進行計算,以免影響遊戲的幀率。 你會遇到“稀疏”的流程,比如說遊戲中的觸發器,這種觸發器大多數時候什麼也不做,但

Maven實戰---兩個war包的呼叫

開篇前提      1、為什麼要用兩個war包的呼叫? 因為我們Maven專案每個war包都是一條線,前臺用easyui,而每一條線都要引用easyui相關的js、css,還有一些其他的樣式。為了把

mybatis 原始碼分析Interceptor

本篇部落格將主要講解 mybatis 外掛的主要流程,其中主要包括動態代理和責任鏈的使用; 一、mybatis 攔截器主體結構 在編寫 mybatis 外掛的時候,首先要實現 Interceptor 介面,然後在 mybatis-conf.xml 中新增外掛, <configuration>

maven實戰簡單mvn構建專案

建立簡單工程: **mvn archetype:generate -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook

【Java入門提高篇】Day34 Java容器類WeakHashMap

public class WeakHashMapTest { public static void main(String[] args){ testWeakHashMap(); } private static void testWeakHashMap

Linux6RedHat7 基本命令-hwclockclock命令

導言 上文,我們講述了cd命令,本文講述hwclock命令。該命令用來查詢或設定硬體時鐘。 你可以通過BIOS修改系統硬體時鐘,或者如果你不想重起機器,那就用hwclock命令。(需求的來源) clock命令其實也是hwclock命令

iOS下JS與OC互相呼叫--Cordova+實戰

扯兩句,可以跳過 由於專案中Cordova相關功能一直是同事在負責,所以也沒有仔細的去探究Cordova到底是怎麼使用的,又是如何實現JS 與 OC 的互動。所以我基本上是從零開始研究和學習Cordova的使用,從上篇在官網實現命令列建立工程,到工程執行起來,

單元測試實戰四種覆蓋、測試例項

理論部分 前言 單元測試,就是對某一段細粒度的Java程式碼的邏輯測試。程式碼塊一般指一個Java 方法本身,所有外部依賴都需要mock掉,僅關注程式碼邏輯本身。   需要注意,單測的一個大前提就是需要清楚的知道自己要測試的程式塊所預期的輸入輸出,然後根據這個預期和程式邏輯來書寫case。

主成分分析PCA原理轉載

增加 信息 什麽 之前 repl 神奇 cto gmail 協方差 一、PCA簡介 1. 相關背景 上完陳恩紅老師的《機器學習與知識發現》和季海波老師的《矩陣代數》兩門課之後,頗有體會。最近在做主成分分析和奇異值分解方面的項目,所以記錄一下心得體會。

OpenCV探索之路十三掩膜mask

ret 如果 拷貝 ace 設置 之路 動作 與運算 區域 在OpenCV中我們經常會遇到一個名字:Mask(掩膜)。很多函數都使用到它,那麽這個Mask到底什麽呢? 一開始我接觸到Mask這個東西時,我還真是一頭霧水啊,也對無法理解Mask到底有什麽用。經過查閱大量資料後

Java垃圾回收GC機制

nbsp 引用計數 維護 png 對象 最新 新的 com 前沿 垃圾回收算法有兩種,根據不同的虛擬機策略不同 1、引用計數法 2、可達性分析法 由於我們平常使用的hotspot虛擬機用的是第二種。 那哪些是可達的呢? 這個算法的基本思想是通過一系列稱為“GC Roots”

[Maven實戰]9傳遞性依賴

cin jar ace wid cti div track 手動 local 了解Spring的朋友都知道。創建一個Spring Framework項目都須要依賴什麽樣的Jar包。假設不使用Maven,那麽在項目中就須要手動下載相關的依賴。因為Spring Fr

Vue2+VueRouter2+webpack 構建項目實戰:配置子路由

dex log fault 地址 數據 from 插入 接口 content 前言 通過前面幾章的實戰,我們已經順利的構建項目,並且從API接口獲取到數據並且渲染出來了。制作更多的頁面,更復雜的應用,就是各位自己根據自己的項目去調整的事情了。 本章講一下如何配置子路由,

自動化運維工具Ansible實戰playbook使用

play playbook ansible (一)playbook簡述 ansbile-playbook是一系統ansible命令的集合,其利用yaml 語言編寫,運行過程,ansbile-playbook命令根據自上而下的順序依次執行。同時,playbook開創了很多特性,它可以允許你

PHP7 學習筆記十三composer

導出 php開發 HR build osi oschina sni 區別 優秀 摘要   從拷貝第三方代碼到項目中(1994),到PEAR安裝依賴包(1999),再到Composer興起(2012),PHP社區經歷了將近20年的探索。PHP這門古老的語言,也在不斷的發展更新

Spring 使用介紹—— AOP

表示 att 通配符 except cat execution 詳解 有一個 字符 一、切入點語法 1)通配符 AOP支持的通配符: *:匹配任何數量字符 ..:匹配任何數量字符的重復,在類型模式中匹配任何數量子包,在方法參數模式中匹配任何數量參數 +:匹配指定類型的子類型

Android項目實戰:TextView自適應大小

click set view ddd isp lap src 無法顯示 aaa 原文:Android項目實戰(五):TextView自適應大小對於設置TextView的字體默認大小對於UI界面的好看程度是很重要的,小屏幕設置的文字過大或者大屏幕設置的文字過小都造成UI的不美