Maven 初学(一)基本概念
2013-10-15 08:57
183 查看
Pom中有三个主要元素
Groupid,artifactid,version
goupid是一个组织唯一的标识例如com.ibm.www
artifactid是一个工程呢IDibm-project
version代表一个版本例如com.ibm.www.ibm-project.1.0
maven执行一个目标(goal)有以下几个步骤
prepare-resources资源的拷贝
compile源代码拷贝阶段
package创建jar/war包阶段
install安装包到本地或者远程库中
localRepository本地库
可以在settings文件中设置本地库位置
<settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>C:/MyLocalRepository</localRepository>
</settings>
CentralRepository中心库
maven在本地库中不能找到依赖的时候,就回去中心库中寻找
http://repo1.maven.org/maven2/
RemoteRepository远程库
<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependencies>
<repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>
</project>
使用archetype插件创建工程
C:\MVN>mvnarchetype:generate
-DgroupId=com.companyname.bank
-DartifactId=consumerBanking
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
参考自:http://www.tutorialspoint.com/maven/maven_quick_guide.htm
Groupid,artifactid,version
goupid是一个组织唯一的标识例如com.ibm.www
artifactid是一个工程呢IDibm-project
version代表一个版本例如com.ibm.www.ibm-project.1.0
maven执行一个目标(goal)有以下几个步骤
prepare-resources资源的拷贝
compile源代码拷贝阶段
package创建jar/war包阶段
install安装包到本地或者远程库中
mvncleandependency:copy-dependenciespackage
clean首先被执行,
然后dependency:copy-dependencies被执行
然后是package被执行
clean的Lifecycle
pre-clean
clean
post-clean
默认buildLifecycle
validate验证工程是否正确,所有必要的信息是否有效
LifecyclePhase | Description |
---|---|
validate | Validateswhetherprojectiscorrectandallnecessaryinformationisavailabletocompletethebuildprocess. |
initialize | Initializesbuildstate,forexamplesetproperties |
generate-sources | Generateanysourcecodetobeincludedincompilationphase. |
process-sources | Processthesourcecode,forexample,filteranyvalue. |
generate-resources | Generateresourcestobeincludedinthepackage. |
process-resources | Copyandprocesstheresourcesintothedestinationdirectory,readyforpackagingphase. |
compile | Compilethesourcecodeoftheproject. |
process-classes | Post-processthegeneratedfilesfromcompilation,forexampletodobytecodeenhancement/optimizationonJavaclasses. |
generate-test-sources | Generateanytestsourcecodetobeincludedincompilationphase. |
process-test-sources | Processthetestsourcecode,forexample,filteranyvalues. |
test-compile | Compilethetestsourcecodeintothetestdestinationdirectory. |
process-test-classes | Processthegeneratedfilesfromtestcodefilecompilation. |
test | Runtestsusingasuitableunittestingframework(Junitisone). |
prepare-package | Performanyoperationsnecessarytoprepareapackagebeforetheactualpackaging. |
package | Takethecompiledcodeandpackageitinitsdistributableformat,suchasaJAR,WAR,orEARfile. |
pre-integration-test | Performactionsrequiredbeforeintegrationtestsareexecuted.Forexample,settinguptherequiredenvironment. |
integration-test | Processanddeploythepackageifnecessaryintoanenvironmentwhereintegrationtestscanberun. |
post-integration-test | Performactionsrequiredafterintegrationtestshavebeenexecuted.Forexample,cleaninguptheenvironment. |
verify | Runanycheck-upstoverifythepackageisvalidandmeetsqualitycriterias. |
install | Installthepackageintothelocalrepository,whichcanbeusedasadependencyinotherprojectslocally. |
deploy | Copiesthefinalpackagetotheremoterepositoryforsharingwithotherdevelopersandprojects. |
可以在settings文件中设置本地库位置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
</settings>
CentralRepository中心库
maven在本地库中不能找到依赖的时候,就回去中心库中寻找
RemoteRepository远程库
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
<groupId>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependencies>
<repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>
</project>
使用archetype插件创建工程
-DgroupId=com.companyname.bank
-DartifactId=consumerBanking
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
参考自:
相关文章推荐
- Maven 初学(一)基本概念
- Maven基本概念
- maven基本概念
- 开发自己的Maven插件之四:基本概念
- (三)Maven基本概念——常用插件的配置
- maven基本概念
- Maven 学习笔记(基本概念)
- [Maven]Maven中的一些基本概念
- Maven 基本概念
- 吉他初学_基本概念
- 推荐系统实战 初学之路笔记(1)--推荐系统基本概念
- Maven入门:Maven的基本概念
- 初学java之jdk安装,基本概念,简单代码编写
- Java基础:初学入门需掌握的30个基本概念
- Maven基本概念
- MAVEN 基本的一些概念 (笔记—补充中。。。。。)
- maven学习笔记-01-基本概念篇
- maven第一天——入门与基本概念
- MAVEN 基本的一些概念 (笔记—补充中。。。。。)