文档章节

Maven 构建

村长杨京京
 村长杨京京
发布于 2016/08/30 15:08
字数 860
阅读 16
收藏 0

下载

目前高版本的Eclipse已经集成了Maven,但是考虑到插件的稳定性,还是推荐使用自己安装的Maven(需要在Eclipse中进行绑定)。

手动安装需要在官网下载Maven,目前最新的版本是3.3.9:http://maven.apache.org/download.cgi

一般windows下的用户下载这个zip就可以了,如果要学习源码,可以下载src那版的。

安装

1 首先需要安装JDK,在命令行中输入java -version验证版本:

2 然后解压下载好的压缩包:

3 配置环境变量

在“环境变量”中配置:

M2_HOME:xxxx/apache-maven-3.3.9

在path中添加:";%M2_HOME%/bin"

4 在命令行中输入 mvn -v测试

编写

如果使用过Ant都知道Ant是通过build.xml执行构建任务的,Maven中是通过pom.xml来执行任务。

POM,project object model,即项目对象模型,它通过这个pom.xml描述一个项目的构建以及信息。

<?<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xinoo.test</groupId>
    <artifactId>first-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>First Maven Project</name>
</project>

第一行指定了文档的XML版本和编码

第二行即每个pom.xml的核心元素——project

project下面有几个子元素,这几个子元素一般是每个项目都会使用到的:

1 modelVersion  这个元素指定了POM的版本,Maven2或者Maven3 都只能是4.0.0

2 groupId 是项目组的ID,一般是com.公司组织名.项目名

3 artifactId 是该项目在项目组中的ID,比如当前的项目是项目组的一个代理项目,就可以叫做myproxy

4 version 是项目的版本号,用于维护项目的升级和发布

5 name 一般没有实际的用处,只是用于标识该项目

比较重要的参数是 groupId、artifactId、version,这三个属性确定唯一的一个项目。

执行任务

一般的Maven项目会包含这样一个目录树:

project
    |-src--main--java--你的源代码
    |    |--test----java--你的单元测试代码
    |-target--编译出的文件和jar包
    |-pom.xml--项目信息以及任务定义

因此我们在上面的pom.xml同级目录中,创建

src/main/java/com/xingoo/test/firstmaven 文件夹

然后再该文件夹中创建HelloWorld.java

复制代码

package com.xingoo.test.firstmaven;

public class HelloWorld{
    public String sayHello(){
        return "Hello Maven";
    }
    public static void main(String[] args){
        System.out.println(new HelloWorld().sayHello());
    }
}

复制代码

然后再pom.xml所在的目录中运行mvn clean compile命令:

会发现目录中多了一个target文件夹,文件夹中增加了两个文件夹:

其中classes中是java编译出的class文件、maven-status是依赖的compile插件。

本文转载自:http://www.cnblogs.com/xing901022/p/5002037.html

共有 人打赏支持
村长杨京京
粉丝 161
博文 876
码字总数 904789
作品 0
杭州
程序员
私信 提问
项目构建工具--Maven

开源中国的 Maven 库 http://maven.oschina.net 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为make的替代工具)不能满足绝大多数开...

匿名
2008/09/07
169.4K
37
Maven 3.0 正式发布

You can download Maven 3.0 now! http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0-bin.zip http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0......

YANGL
2010/10/09
860
2
maven学习笔记一(认识maven)

mavn是什么? Maven是一个构建工具,服务与构建.使用Maven配置好项目后,输入简单的命令,如:mvn clean install,Maven会帮我们处理那些繁琐的任务. Maven是跨平台的. Maven最大化的消除了构建的重...

吕兵阳
2015/10/02
159
0
Maven入门指南(一)

原文链接 译文链接 译者:nkcoder 校对:方腾飞 Maven介绍: Maven是一个强大的Java项目构建工具。当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因此Maven被更多的用于...

GarfieldEr007
2018/01/14
0
0
项目管理: Maven 让事情变得简单

目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项...

hkm
2012/06/06
222
0

没有更多内容

加载失败,请刷新页面

加载更多

多命令链命令参数

Commands: --install <link> <name> <path> <priority> [--slave <link> <name> <path>] ... 在系统中加入一组替换项. --remove <name> <path> 从 <名......

Pulsar-V
41分钟前
1
0
【转】go get命令使用socket代理

由于某些不可描述的原因,国内使用go get命令安装某些包的时候会超时导致失败,比如net包、sys包、tools包等。第一种解决办法就是自己从git上下载后添加链接到GOPATH中,比如: 1234...

yiduwangkai
43分钟前
5
0
Windows同步对象Event和Linux的条件变量

最近在看一些同步对象模拟的东东,特别对在Windows下如何模拟条件变量折腾了很久。 1 Windows同步对象Event 微软有一个很有意思的同步对象,某种程度上和Linux的条件变量很相似。但秉承微软一...

shzwork
51分钟前
1
0
从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//第一种做法 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList <Integer> li=new ArrayList<Integer>(); ArrayList <TreeN......

南桥北木
今天
2
0
linux 服务管理 Crontba、Ntpdate、Logrotate、Supervisor

crond linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 另外, 由于使用者自己也可以设置计划任务,所以,...

狼王黄师傅
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部