Maven項(xiàng)目對象模型(POM)伪节,可以通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的軟件項(xiàng)目管理工具绩鸣。
安裝
- 去maven官網(wǎng)http://maven.apache.org/download.cgi 下載最新的maven安裝包
- 解壓后放到自己希望的目錄下面怀大,例如/usr/local/apache-maven-3.3.9
- 添加環(huán)境變量M3_HOME 和MAVEN_HOME,以及PATH
export M3_HOME=/usr/local/apache-maven-3.3.9
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=$M3_HOME/bin:$PATH
- 驗(yàn)證:輸入mvn -version指令,如果一切正常全闷,可以看到如下信息:
KevindeMacBook-Pro:Documents kevin$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_101, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.4", arch: "x86_64", family: "mac"
更新Maven本地庫
Maven的本地資源庫是用來存儲(chǔ)所有項(xiàng)目的依賴關(guān)系(插件jar和其他文件,這些文件被Maven下載)到本地文件夾萍启。很簡單总珠,當(dāng)你建立一個(gè)Maven項(xiàng)目,所有相關(guān)文件將被存儲(chǔ)在你的Maven本地倉庫勘纯。
默認(rèn)情況下局服,Maven的本地資源庫默認(rèn)為 .m2 目錄文件夾:
Unix/Mac OS X – ~/.m2
Windows – C:\Documents and Settings{your-username}.m2
可以到找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名稱。
{M2_HOME}\conf\setting.xml
Maven遠(yuǎn)程存儲(chǔ)庫
在Maven中驳遵,當(dāng)你聲明的庫不存在于本地存儲(chǔ)庫中淫奔,也沒有不存在于Maven中心儲(chǔ)存庫,該過程將停止并將錯(cuò)誤消息輸出到 Maven 控制臺(tái)堤结。
告訴 Maven 來獲得 Java.net 的依賴唆迁,你需要聲明遠(yuǎn)程倉庫在 pom.xml 文件這樣:
Java.net資源庫:
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>
JBoss Maven資源庫:
<repositories>
<repository>
<id>JBoss repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
Maven依賴機(jī)制
傳統(tǒng)的項(xiàng)目管理中需要我們自己來下載依賴,有了Maven之后竞穷,可以
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
定制庫到Maven的本地資源庫
當(dāng)需要使用的jar不存在于Maven的中心資源庫的時(shí)候唐责,就需要定制該庫到中心資源庫:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
創(chuàng)建Java項(xiàng)目
想要用maven創(chuàng)建一個(gè)java項(xiàng)目,則需要鍵入以下命令:
mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name}-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
為了使它變成一個(gè)eclipse項(xiàng)目瘾带,則:
mvn eclipse:eclipse
更新pom.xml,筆者使用的是JDK 1.8版本鼠哥,所以:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
從更新JUnit 3.8.1到最新的 4.11:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
打包:
mvn package
運(yùn)行:
java -cp target/HelloWordMaven-1.0-SNAPSHOT.jar com.kevin.App
通過Maven創(chuàng)建web項(xiàng)目
命令如下:
$ mvn archetype:generate -DgroupId=com.kevin -DartifactId=HellowWorldMavenWeb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false