Installing Maven
To install Maven on your own system (computer), go to the Maven download page and follow the instructions there. In summary, what you need to do is:
- Set the JAVA_HOME environment variable to point to a valid Java SDK (e.g. Java 8).
- Download and unzip Maven.
- Set the M2_HOME environment variable to point to the directory you unzipped Maven to.
- Set the M2 environment variable to point to M2_HOME/bin (
%M2_HOME%\bin
on Windows,$M2_HOME/bin
on unix). - Add M2 to the PATH environment variable (%M2% on Windows, $M2 on unix).
- Open a command prompt and type ‘mvn -version’ (without quotes) and press enter.
Manual project creation
创建项目目录和pom文件
创建pom.xml文件如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
可以通过mvn clean
测试pom.xml以及环境是否正常:
1 | pc-a375-2:maven admin$ mvn clean |
创建源码目录
按照maven的标准目录结构在项目录下创建源码目录:
1 | src |
创建代码文件
创建java类源码文件HelloWorld.java
.
1 | package helloworld; |
构建项目
运行mvn package
, package
是默认生命周期的一个阶段。会将编译得到的java class文件打包位一个JAR文件。maven会创建target
目录,生成的JAR文件就在里面。JAR包会命名为:artifactId-version
.
1 | pc-a375-2:maven admin$ cd target |
项目模板
Archetype 是一个 Maven 插件,它的任务是按照项目模板创建一个项目的目录结构。这里,我们将使用 archetype 插件 quickstart 来创建一个简单的 java 应用。
可以Maven的archetype插件来创建基本的项目,也可以创建高级的项目(根据模板)。要创建一个简单的java应用,我们将使用maven-archetype-quickstart插件。
Maven 将会开始处理,并且要求你选择需要的archetype。
1 | [INFO] Scanning for projects... |
按回车选择默认的选项(203:maven-archetype-quickstart)。
Maven 将要求提供 archetype 的特定版本。
1 | Choose org.apache.maven.archetypes:maven-archetype-quickstart version: |
按回车选择默认的选项(6:maven-archetype-quickstart:1.1)。
Maven 将要求提供项目详情。要找要求键入项目详情。如果默认值有提供就按回车。你可以键入你自己的值来覆盖这些默认值。
1 | Define value for property 'groupId': : com.companyname.insurance |
现在 Maven 将开始创建项目目录结构并且显示下面的信息:
1 | [INFO] ----------------------------------------------------------------------- |
Maven使用如下所示的一套标准目录结构:
目录结构 | 描述 |
---|---|
src/main/java | 包含包下的Java源代码文件。 |
src/main/test | 包含包下的测试Java源代码文件。 |
src/main/resources | 包含图片和properties文件(在上面的例子中,我们需要手动创建此目录)。 |
1 | Maven 为项目生成了一个 POM.xml 文件,如下所示: |
Maven还创建了一个Java源文件样例和Java测试类文件。
1 | package com.companyname.insurance; |
开发者需要按照上面表格提到的要求放置自己的文件,然后Maven会处理构建相关的所有复杂工作。
在 Maven 中使用一条命令,你就可以创建任意种类的项目,并且可以迅速启动你的开发工作。