Maven三大組成部分:
1:依賴
2:倉庫
3:生命週期和插件html
里程碑:SNAPSHOT(快照)-->alpha(內部測試)-->beta(測試)-->release(正式發佈)-->GA(徹底可用)
java
user0.0.1-SNAPSHOT-->user0.0.1-Release--->user1.0.0SHAPSHOT -->user1.0.0-Rlease
-->user0.1.0-SNAPSHOT-->user0.1.0-Rlease
spring
主要內容
Maven的安裝
Maven的配置
Maven的文件結構
Maven的pom.xml文件
apache
配置與安裝:maven
去官網下載MAVEN壓縮包;
解壓便可;
配置環境變量M2_HOME等於解壓目錄路徑;
在環境變量path增長%M2_HOME%/bin/;
在環境變量增長內存配置MAVEN_OPTS等於 -Xms128m -Xmx512m(可選)
命令行窗口測試mvn –version;測試
命令行
建立一個項目使用如下命令,在d:/a目錄下執行如下命令:
D:/a> mvn archetype:create -DgroupId=項目的包名 -DartifactId=項目的名稱也是建立之後的文件夾名稱
ui
快速嚮導: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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--項目的包名,必須-->
<groupId>cn.wj</groupId>
<!--項目的名稱-->
<artifactId>hello</artifactId>
<!--項目的版本號必須-->
<version>1.0-SNAPSHOT</version>
<!--項目打包後擴展名-->
<packaging>jar</packaging>
<!--項目名-->
<name>hello</name>
<!--中央倉庫地址-->
<url>http://maven.apache.org</url>
<!--項目編碼等其餘信息-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--項目依賴庫-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
編碼
運行測試url
在存在pom.xml的目錄下,執行如下命令,都會在當前目錄下生成target目錄,裏面便是編譯和測試及打包之後的結果:
mvn compile 便是指編譯項目
mvn test 即運行測試
mvn package 即打包命令
mvn site 即生成引用的方式與html幫助文件
mvn clean 即刪除target目錄。spa
修改本地倉庫地址
默認使用mvn命令行,將會在$USER_HOME/.m2目錄下建立本地倉庫。
能夠經過修改$M2_HOME/config/settings.xml中修改如下配置:
<localRepository>D:/programfiles/.m2/repository</localRepository
Maven的目錄結構
bin
包含了mvn的運行腳本mvn.bat,腳本配置java命令;
m2.conf用來配置默認倉庫(repository),默認倉庫爲$USER_HOME/.m2;
boot
只有一個文件,java類加載器;
conf
包含一個很是重要的文件settings.xml;
此目錄下的settings.xml文件爲全局配置文件;
lib
Maven運行時須要的java類庫;
Maven內置的超級pom文件在maven-model-builder-x.x.x.jar,裏面包含了maven默認的中央倉庫位置;
pom.xml是maven項目的核心;
第一個項目的pom.xml文件
<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.taiji.mvn</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>helloworld</name>
<packaging>jar</packaging>
</project>
pom.xml座標GAV的含義
project根節點
groupId
實際項目ID,通常與實際項目包名定義;
例如:spring項目org.springframework,junit項目就是junit;
artifactId
項目(模塊)ID;
一般已實際項目爲前綴,例如:spring-core,junit等;
pom.xml座標含義
.version
定義項目(模塊)目前的版本;分爲SNAPSHOT(快照)、RELEASE(發佈)等;
Jar包的名稱artifactId-version.jar,因此artifactId通常以實際項目簡稱爲前綴,例如:spring-core-3.0.5-RELEASE.jar
6.packaging
Maven項目的打包方式,默認爲jar。Web項目是war,聚合項目是pom;
7.Name
就是個名字,沒啥意義
未完待續