標籤:
前提:----------------------------------------------------------------------------------------------------------------------------
project : Maven
description : Maven是基於項目物件模型(POM),可以通過一小段描述資訊來管理項目的構建,報告和文檔的軟體專案管理工具。
--------------------------------------------------------------------------------------------------------------------------------------
一,如何使用maven構建項目
1,下載和安裝maven
MAVEN_HOME : "maven的安裝目錄"
path : %MAVEN_HOME%\bin
2,建立一個pom.xml檔案,在該檔案寫上相應的配置
*
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.water.maven.hello</groupId>
<artifactId>hello-first</artifactId>
<version>SNAPSHOT-0.0.1</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
* 其中最重要的元素節點就是GAV--(groupId,artifactId,version)
項目座標
groupId------------------用啦表示項目的名稱
artifactId---------------用來表示項目的模組,建議使用項目的名稱-模組名稱 such as : crm-userGroup
versionId----------------項目的版本號碼
3,建立相應的工程目錄,不過格式嚴格要求如下
pom.xml
src
main
java------------------------java原始碼
resources-------------------源檔案的資來源目錄,(hibernate.cfg.xml,applicationContext.xml)
test
java------------------------工程的測試代碼
resources-------------------測試工程所用到的資來源目錄檔案
4,執行mvn compile 命令
* 這個時候maven就會從中央倉庫中下載相應的jar包(儲存到.m2的檔案夾中),但是可以設定本地的倉庫
* 設定下載到本地倉庫的本地目錄,開啟settings.xml檔案
找到<localRepository>D:/Java/maven</localRepository>裡面的內容可以根據自己的想要防止的地方
但是這裡的檔案要conf/檔案下的setttings
5,archetype骨架式地構建自己的項目
5.1 : 建立一個目錄放置我們的工程:mkdir 03
5.2 : 切換到剛剛建立的03目錄下,執行 mvn archetype:generate
5.3 : 後面的根據提示來建立我們的工程
二,正式進入maven的學習
1,maven總體上可以分為三個部門
* 依賴
* 倉庫
* 生命週期和外掛程式
三,依賴
1,依賴包的查詢
* 所有的依賴都是通過座標來進行儲存的(GAV-->groupId,artifactId,version)
* 有一些網上的倉庫提供了查詢
* 什麼叫傳遞性依賴
依賴是會被傳遞的----------但是只是作用於compile
如果我們建立一個項目,這個項目主要是放置PO對象,但是使用到hibernate核心的jar包,
所以當我們再建立一個項目的時候,需要依賴前面的一個項目,所以我們要匯入這個項目,但是與此同時,hibernate的jar包
也會相應的匯入進來。
1,test 範圍指的是測試範圍有效,在編譯和打包時都不會使用這個依賴
2,compile範圍指的是編譯範圍有效,在編譯和打包時會將依賴儲存進去
3,provided依賴,在編譯和測試過程有效,最後產生war包時不會加入,諸如,
serviet-api,因為servlet-api,tomcat等web伺服器已經存在了,如果再打包回衝突
3,runtime在啟動並執行時候依賴,在編譯的時候不會依賴。
maven--軟體專案管理工具(day01)