項目管理工具--maven(2)

maven

idea集成maven插件

idea自帶maven插件,可以直接使用。

斷網時使用本地插件創建工程

-DarchetypeCatalog=internal

作用域

解決maven項目包衝突

<scope>provided<scope>

參考博客

compile

默認scope爲compile,表示爲當前依賴參與項目的編譯、測試和運行階段,屬於強依賴。打包之時,會達到包裏去。

test

該依賴僅僅參與測試相關的內容,包括測試用例的編譯和執行,比如定性的Junit。

runtime

依賴僅參與運行週期中的使用。一般這種類庫都是接口與實現相分離的類庫,比如JDBC類庫,在編譯之時僅依賴相關的接口,在具體的運行之時,才需要具體的mysql、oracle等等數據的驅動程序。
此類的驅動都是爲runtime的類庫。

provided

該依賴在打包過程中,不需要打進去,這個由運行的環境來提供,比如tomcat或者基礎類庫等等,事實上,該依賴可以參與編譯、測試和運行等週期,與compile等同。區別在於打包階段進行了exclude操作

system

使用上與provided相同,不同之處在於該依賴不從maven倉庫中提取,而是從本地文件系統中提取,其會參照systemPath的屬性進行提取依賴

systemPath

當maven依賴本地而非repository中的jar包,sytemPath指明本地jar包路徑,例如

<dependency>
    <groupid>org.hamcrest</groupid>
    <artifactid>hamcrest-core</artifactid>
    <version>1.5</version>
    <scope>system</scope>
    <systempath>${basedir}/WebContent/WEB-INF/lib/hamcrest-core-1.3.jar</systempath>
</dependency>

import

這個是maven2.0.9版本後出的屬性,import只能在dependencyManagement的中使用,能解決maven單繼承問題,import依賴關係實際上並不參與限制依賴關係的傳遞性

運行環境

pom文件:

<build>
<-!修改運行環境,避免使用使用默認的運行環境>
<build>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章