CentOS Maven安装与使用
2016-09-30 11:47
253 查看
1、安装Maven
1.首先到Maven官网下载安装文件,下载文件为apache-maven-3.3.9-bin.tar.gz,点击链接可以直接下载,不需要积分的哟,然后将下载的文件通过FTP工具存放到CentOS服务器里。
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-3.3.9-bin.tar.gz
解压后的文件夹名为apache-maven-3.3.9
3.配置环境变量,编辑/etc/profile文件,添加如下代码
MAVEN_HOME=/home/test/pub/maven/apache-maven-3.3.9
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
4.保存文件,并运行如下命令使环境变量生效
source /etc/profile
5.在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功
mvn -v
2、配置Maven
MAVEN_HOME/conf目录下settings.xml文件是Maven的配置文件,我们在这里主要配置如下两个参数:配置本地仓库:
<localRepository>/home/test/pub/maven/repo</localRepository>
配置镜象:
本例中<mirrorOf>的值为central,表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像,用户也可以使用同样的方法配置其他仓库的镜像。
<mirror> <id>nexus</id> <name>internal nexus repository</name> <url>http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
3、使用Maven创建项目
无论是学习语言还是框架,先来一个Hello World基本上已经是套路了,我们也通过构建一个Hello World项目来了解如何使用Maven。首先通过maven创建helloworld项目
mvn archetype:generate -DgroupId=helloworld -DartifactId=helloworld
生成的项目目录如下,其中src/main/java是源码目录,src/test/java是测试文件目录。
一共只有三个文件,打开这三个文件,可以看到App.java中已经写好了一个Hello World程序,而AppTest中是Junit单元测试的代码,至于pom.xml,则给出了项目的一些基本信息以及依赖关系。
helloworld/ ├── pom.xml └── src ├── main │ └── java │ └── helloworld │ └── App.java └── test └── java └── helloworld └── AppTest.java这里主要看一下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>helloworld</groupId> <artifactId>helloworld</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>helloworld</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>在pom.xml文件中,首先描述了项目的定义,groupId:artifactId:packaging:version这个四元组能够唯一标记一个项目。我们不仅可以用这个四元组来标记我们的项目,也可以用来标记其它的项目,比如用来描述项目依赖关系。perperties中定义了项目的属性,也可以在这里定义变量并在其它的地方引用。至于最后的dependencies,则是描述了项目的依赖关系,Maven会根据依赖关系自动下载相应的文件并在编译时使用。
在大型项目开发中,往往会将其分成若干个子项目,每个子项目都有着自己的的pom.xml,它们与父pom.xml之间相当于继承的关系。
可以说,pom.xml文件的配置是整个Maven的核心重点,也是学习Maven过程中需要详细了解的内容。这里只给出了最简单的配置样例,详细了解可以查看官方文档。
接下来编译并运行Helloworld项目。
如果是第一次编译的话,需要联网,因为Maven会自动下载依赖包。
mvn package
下载的依赖包会保存在~/.m2/repository文件夹中,打开这个文件夹,我们会发现里面的包正是按前面所说的四元组目录结构进行存储的。Maven在依赖一个jar包时会先去本地库查找,如果没找到就会从网上下载。当然,并不是所有的包都能从网上下载到,比如我们自己开发的jar包,这时,我们就可以用mvn install命令将一个项目安装到本地仓库。
打包成功后我们会发现项目中多了一个target文件夹,目录结构如下
target/ ├── classes │ └── helloworld │ └── App.class ├── helloworld-1.0-SNAPSHOT.jar ├── maven-archiver │ └── pom.properties ├── maven-status │ └── maven-compiler-plugin │ ├── compile │ │ └── default-compile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ └── testCompile │ └── default-testCompile │ ├── createdFiles.lst │ └── inputFiles.lst ├── surefire-reports │ ├── helloworld.AppTest.txt │ └── TEST-helloworld.AppTest.xml └── test-classes └── helloworld └── AppTest.class可以看到,在package过程中,maven完成了编译、测试代码,生成测试报告,生成jar包等一系列工作。
最后,我们也可以手动运行jar包查看结果。
$ java -cp target/helloworld-1.0-SNAPSHOT.jar helloworld.App
4、Maven常用命令
Maven的命令非常多,学习命令首先要了解Maven的生命周期。Maven首先会验证并处理引用资源,之后进行项目编译,如果没有声明跳过测试,也会编译测试代码并进行测试、以成测试报告。最后,Maven会将编译好的内容进行打包,用于发布。
Maven命令与Maven的生命周期有着对应的关系,一个命令也经常会包含多个生命周期,比如mvn package会完成以上所有步骤。
这里列举几个常用的命令
mvn compile 编译项目,这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。 mvn test 编译运行单元测试,先自动进行编译,在运行所有的测试用例。 mvn package 打包(jar or war) mvn install 将项目安装到本地仓库,发布生成对应的package包。 mvn clean 清空项目,删除target文件夹,即删除生成的package包以及class等文件。 mvn eclipse:eclipse 生成eclipse工程
相关文章推荐
- CentOS安装Nexus:(二)配置及使用Maven私服
- 基于Centos搭建Maven 安装与使用
- CentOS图形界面下如何安装Eclipse和使用maven
- CentOS安装与使用Maven
- CentOS安装Nexus:(二)配置及使用Maven私服
- 弹性计算云Eucalyptus安装及使用(centos5.3版)
- RHEL 5.3使用Centos 5.3的 yum 源进行更新和安装软件
- 使用Maven打包并安装到本地库
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql
- CentOS使用yum安装软件提示需要KEY的解决方法
- 使用云计算~Eucalyptus tools安装到centos5.3记录日志
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql(一)
- 使用CentOS光盘镜像作为YUM源安装rpm软件包
- 使用maven下载jar包,使用ant打包。yqxt项目的安装。
- CentOS 中安装使用 xmms 音乐播放器
- centos上安装使用和升级subversion&Apache
- maven安装与使用
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql(二)
- 在Centos中yum安装和卸载软件的使用方法