Maven 的安装和环境变量配置
1 下载 apache-maven-bin.tar.gz 安装包,解压
下载地址:http://115.28.73.167/software/apache-maven-3.3.3-bin.tar.gz
2 .1 对于字符终端需要配置环境变量,就行了
注意! 要是使用maven必须先安装jdk
配置JAVA环境变量:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
/etc/profile
最后增加:
export PATH=/usr/apache-maven-3.3.3/bin:$PATH
2.2 如果使用xrdp 协议的方式访问远程桌面的话,需要在
/etc/srdp/startwm.sh 前面加上
. /etc/profile
就是每次远程连接时都加载一遍profil
3 测试是否安装成功
mvn –version
Maven的项目构建
1.0 命令行方式批量指定参数
maven 用于管理java工程中使用的包和目录等等,因此在创建时可以使用一些现成的模板
命令加解释:
mvn -B(表示批量指定参数) archetype:generate (命令换行)
-DarchetypeGroupId=org.apache.maven.archetypes(指定机构名) \
-DarchetypeArtifactId=maven-archetype-quickstart(指定模板ID)\
-DgroupId=com.mycompany.app(指定包名)\
-DartifactId=my-app(指定工程名)
-DarchetypeGroupId=org.apache.maven.archetypes(指定机构名) \
-DarchetypeArtifactId=maven-archetype-quickstart(指定模板ID)\
这两行表示使用的模板
完成可运行的命令:
mvn -B archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=com.mycompany.app \
-DartifactId=my-app
注意: 等号之间不能有空格。archetype 可以认为是maven的一个插件工具!
Maven 常用命令:
mvn compile 编译
mvn test 编译并测试
mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn install 在本地Repository里安装jar,相当于发布jar包到本地
生成eclipse项目:mvn eclipse:eclipse
生成idea项目:mvn idea:idea
清除 mvn clean package
清除eclipse项目:mvn eclipse:clean
清除idea项目: mvn idea:clean
导出依赖jar包到目录:mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile
Maven 依赖包管理
默认的任何项目的依赖包都需要从central库中下载到本地,放在
~/.m2/repository
目录下
central库:http://mvnrepository.com/
配置maven的镜像库,就可以绕过中心库(网速较慢)。
配置方法:
1.0 全局方法
配置maven镜像 地址 DX2:8081/nexus
在maven的安装目录下的conf文件夹下的settings.xml进行配置:
<mirrors>
<mirror>
<id> chinahadoop.central</id>
<mirrorOf>central</mirrorOf>
<name>ChinaHadoop cdh Mirror.</name>
<url>http://DX2:8081/nexus/content/repositories/central</url>
</mirror>
</mirrors>
2.0 针对某个项目配置
在每个项目都有一个pom,xml文件:
<mirrors>
<mirror>
<id> chinahadoop.central</id>
<mirrorOf>central</mirrorOf>
<name>ChinaHadoop cdh Mirror.</name>
<url>http://DX2:8081/nexus/content/repositories/central</url>
</mirror>
</mirrors>
*一个项目的所有配置都放置在pom文件中:定义项目的类型,名字,依赖关系,定制插件等等。
*在pom文件中,groupId,artifactId,version 叫做maven坐标,能够使得项目发布在中心库时,别人能够唯一确定这个项目。
pom各个标签的解释
- depenencies 内部多个dependency 用于指定项目的依赖包
- dependency 引入的第三方jar包
- groupId 项目的顶级包名
- artifactId 项目名
- version 版本号
- packaging 项目发布时的打包类型,如jar 或者 war
- name 项目名
- url 项目主页
denpendencies 示例:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>