博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【手把手教你Maven】构建过程
阅读量:6991 次
发布时间:2019-06-27

本文共 1831 字,大约阅读时间需要 6 分钟。

Maven是一款进行 依赖管理、项目构建、信息管理 为一体的工具。

它不像Make具有复杂的命令、也不像Ant需要手动编写大量的重复代码就能进行项目的构建;

还能提供强大的依赖库管理,避免jar包混乱与冲突;

还可以方便的管理项目的信息、知识产权等内容。

本篇的写作目的在于帮助那些之前没有使用过,或者是对maven还没有太多概念的朋友,学会使用maven,利用maven进行项目的构建。

通过讲解Maven的下载、安装、编写、执行任务,快速体验Maven的工作模式与使用技巧...

下载

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

手动安装需要在官网下载Maven,目前最新的版本是3.3.9:

一般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描述一个项目的构建以及信息。

4.0.0
com.xinoo.test
first-maven
1.0-SNAPSHOT
First Maven 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插件。

参考

【1】最后的任务执行样例:

【2】《Maven实战》:

转载地址:http://qbbvl.baihongyu.com/

你可能感兴趣的文章
flask怎样获取authorization
查看>>
Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条...
查看>>
HTMl5的sessionStorage和localStorage的一些区别
查看>>
Find Minimum in Rotated Sorted Array
查看>>
Android Studio模拟器的问题及解决办法
查看>>
实现Android ListView 自动加载更多内容
查看>>
高淇Struts2.0教程之视频笔记(6)
查看>>
python二进制读写文件
查看>>
sql server 高可用性技术总结
查看>>
近阶段学习总结(EasyUI的使用)
查看>>
第二次作业
查看>>
JSTL 运算符汇总
查看>>
IOS UIlabel 、UIButton添加下划线
查看>>
iOS 屏幕原点坐标 && 导航栏风格的自定义
查看>>
美女相册案例
查看>>
Spring配置文件详解
查看>>
Vue学习计划基础笔记(五) - 表单输入绑定、组件基础
查看>>
php验证字符串是否以逗号隔开包括中文字符串
查看>>
性能测试基础知识
查看>>
hdu 3466 Proud Merchants 01背包变形
查看>>