Linux下Maven的安装与使用

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。

现在有很多Apache项目都已经开始采用Maven进行管理。

本篇文章简单介绍了Maven的相关知识,以及在Linux下的安装与使用方法。如果需要进一步了解Maven,请移步Maven官网。

安装Maven

Maven的下载地址:
这里以最新的3.2.3版本为例进行安装,在这之前需要确保机器上已经安装了JDK。

首先下载Maven并解压,并移动到usr/local目录下

$ wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz

$ tar vxf apache-maven-3.2.3-bin.tar.gz

$ mv apache-maven-3.2.3 /usr/local/maven3

修改环境变量,在/etc/profile中添加以下几行

MAVEN_HOME=/usr/local/maven3

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

记得执行source /etc/profile使环境变量生效。

最后运行mvn -v验证maven是否安装成功,如果安装成功会打印如下内容

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T04:58:10+08:00)

Maven home: /usr/local/maven3

Java version: 1.7.0_65, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.13.0-35-generic", arch: "amd64", family: "unix"

使用Maven创建项目

无论是学习语言还是框架,先来一个Hello World基本上已经是套路了,我们也通过构建一个Hello World项目来了解如何使用Maven。
首先通过maven创建helloworld项目

$ mvn archetype:create -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 ">

<modelVersion>4.0.0</modelVersion>

 

<groupId>helloworld</groupId>

<artifactId>helloworld</artifactId>

<version>1.0-SNAPSHOT</version>

<packaging>jar</packaging>

 

<name>helloworld</name>

<url></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>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/dea25794a2c8a6568743478b452c4f81.html