從網上找到一份Maven3學習資料,是一份學習筆記,很不錯,分享一下:[http://download.csdn.net/detail/jolingogo/5314305](http://download.csdn.net/detail/jolingogo/5314305)
### 1.依賴的配置
先來看一個pom.xml
~~~
<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>com.deppon.demo</groupId>
<artifactId>test01</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 屬性配置 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 依賴配置 -->
<dependencies>
<!-- 添加JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 添加Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>test01</finalName>
</build>
</project>
~~~
根元素project下的dependencies可以包含一個或者多個dependency元素,以聲明一個或者多個項目依賴
每個依賴包含的元素有:
groupId,artifactId,version:依賴的基本坐標
type:依賴的類型。大部分情況下,該元素不必聲明,默認是jar
scope:依賴的范圍
optional:標記依賴是否可選
exclusions:用來排除傳遞性依賴
### 2.scope (依賴范圍)
在Maven的世界中,有很多種classpath,編譯classpath,測試classpath,運行classpath
依賴范圍就是用來控制依賴與這三種classpath的關系
compile:編譯依賴范圍。如果沒有指定,則默認使用該依賴范圍。使用此范圍的依賴,在編譯,測試,運行著三種classpath都有效。
test:測試依賴范圍。使用此范圍的依賴,只對測試classpath有效,即只有在測試的代碼中才可用。典型例子就是Junit
provided:已提供依賴范圍。使用此范圍的依賴對于編譯和測試都有效,但在運行時無效。典型例子就是servlet-api
runtime:運行時依賴范圍。使用此范圍的依賴對于測試和運行classpath有效,但在編譯主代碼是無效。典型例子就是JDBC驅動實現
system:系統依賴范圍。對于編譯和測試有效,但在運行時無效。使用system范圍時,必須通過systemPath元素顯示的指定依賴文件的路徑(慎用)
import:導入依賴范圍
- 前言
- (一)- 環境搭建
- (二)- 安裝m2eclipse插件
- (三)- 使用Maven構建Web項目
- (四)- 使用Maven構建Web項目-測試
- (五)- 使用Maven構建Struts2項目
- (六)- 構建Hibernate項目
- (七)- 構建Spring項目
- (八)- 構建MyBatis項目
- (九)- 構建SSH項目
- (十) - 階段小結
- Maven深入學習(一)- 坐標
- Maven深入學習(二)- 依賴
- Maven深入學習(三)- 聚合與繼承
- Maven深入學習(四)- 知識總結
- Maven創建的Web項目無法使用EL表達式
- Maven知識點記錄 - profile
- Maven知識點記錄 - repositories
- Maven最佳實踐:版本管理
- Ubuntu上安裝Maven3
- Maven常用命令-創建Java項目
- Maven常用命令-創建Web項目
- Maven中引入本地jar包
- Maven私服(一) - The nexus service was launched, but failed to start.
- Maven私服(二) - Nexus的安裝