MAVEN-使用maven构建一个标准化的JavaSE项目

Maven简介

Maven是一个Apache基金会下的用于项目构建和依赖管理的开源项目。由于其强大的功能和众多的插件,Maven已经成为java项目构建与管理过程中事实上的标准。下面简要列出了Maven在项目构建与管理过程中所能带给我们的便利:
  • 项目构建。与Ant等其他项目构建工具一样,Maven提供了项目构建、打包等众多基础功能。需要指出的是,老牌构建工具Ant的脚本在Maven里被完全兼容。
  • 依赖管理。这是Maven最大的靓点之所在。如果使用Maven作为项目管理工具,你将彻底从寻找jar->添加至classpath这个痛苦的过程中解放出来。Maven维护了一个在线的、官方的Jar仓库,java开源界绝大部分jar和源码都可以从中下载到。由于有了这个巨大的在线仓库,项目依赖的描述是如此的优雅与简洁,比如:

有了如上配置,Maven可以为你:1)寻找到申明的log4j-core的2.0版本jar,下载后缓存到本地仓库。2)将其加入类路径。3) 如果该项目有其他依赖,则自动下载相关依赖的Jars
  • 版本控制支持。Maven借助其数量众多且功能强大的插件,可以完美地提供各种产品的版本控制(Subversion,Git,CVS等)
  • 自动化测试。同样的,万能的Maven插件可以帮你完成各种场景下的自动化测试。
  • 建立企业独有的依赖仓库。借助Nexus软件,我们可以在企业内部网络中搭建专有的Maven依赖库,使得企业的代码更加正规化,版本化。
光这《 自动下载依赖库》就令人心潮澎湃吧?既然如此,那我们就一起开启这场刺激的Maven之旅吧。

HellowMaven

本篇博文的所有文件均可免费下载(在文章末尾),但是我强烈建议大家动手做起来。
安装Maven
Maven的安装与Tomcat相类似。
  1. 前往Apache下载Maven3.x版(本人3.2.3)。将其解压到某处。
  2. 配置环境变量M2_Home为你的Maven安装路径。
  3. 将%m2_home%/bin加入到path中,以求可以在cmd中直接运行Maven相关命令。配置完成后,可以在cmd中使用mvn --version查看是否安装成功。
  4. 打开m2_home/conf/settings.xml
    • 找到<localRepository>节点,将其节点值更改为你准备存放那些依赖库的位置。例如我的:<localRepository>D:\lib_warehouse</localRepository>
    • 如果你的e文过关,你可以完整地浏览下settings.xml,已求对Maven相关功能能有个更加直观地认识。但是目前来讲,我们只需要上一步即可。
通过上面的配置,我们就可以初步地使用Maven了。不同于IDE,Maven不会在项目的工程文件夹内记录相关信息;只要你的项目文件夹满足Maven的约定,Maven就可以帮你构建项目。下面我们来看一个简单的Maven工程的目录结构,顺便来认识一下Maven的指挥官——“POM”。
project_home
|
|--src
|--main
|
|--java --存放java代码
|
|--resources --存放相关资源文件,如Spring的Applications.xml文件
|--test
|
|--java --存放测试java代码
|
|--resources --存放测试资源文件
|
|--target --生成的jar、class,javaDoc等文件的存放地方,Maven自动创建
|
|--pom --用以描述项目信息的xml配置。下面详细介绍。

POM:项目对象模型。向maven描述了项目的依赖,资源位置,相关插件等具体信息。Pom是已面向对象的方式组织的,多个Pom之间可以有继承关系。对于我们这个简单的HelloWorld项目,Pom也是超级的简单:
<?xml version="1.0"?>
<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>org.xiaoidea</groupId>
	<artifactId>xiaoidea-beans</artifactId>
	<name>xiaoidea-beans</name>
	<version>0.0.1</version>
</project>
我们在这个项目中新建了如下文件夹,别编制了如下java代码:
<div style="text-align: left;">cd d:project_root</div><div style="text-align: left;">mvn clean compile package</div>
这回,我们可以看到在project_root/target文件夹下,已经有了相关的jar,将其导入其他项目的classpath,就可引用刚才写的jar啦~~~这就是基于约定的好处,配置超级简单~
下面,我们进入到该目录,使用Maven将其打包成jar供其他工程使用吧。
这是HelloWorld级别实例,完全没有体现的Maven的优势之所在。
下一节,我们将结合Maven的Eclipse插件讲述Maven更强大的功能。
相关下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值