欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

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

来源: javaer 分享于  点击 43927 次 点评:144

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


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相类似。 通过上面的配置,我们就可以初步地使用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 >cd d:project_root</div><div >mvn clean compile package</div>
这回,我们可以看到在project_root/target文件夹下,已经有了相关的jar,将其导入其他项目的classpath,就可引用刚才写的jar啦~~~这就是基于约定的好处,配置超级简单~ 下面,我们进入到该目录,使用Maven将其打包成jar供其他工程使用吧。 这是HelloWorld级别实例,完全没有体现的Maven的优势之所在。
下一节,我们将结合Maven的Eclipse插件讲述Maven更强大的功能。

相关下载


相关文章

    暂无相关文章

用户点评