Maven介绍,安装以及创建项目

来源:互联网 发布:淘宝网天猫运动鞋 编辑:程序博客网 时间:2024/06/05 19:28

一:Maven的作用

我们在开发项目的过程中,会使用一些开源框架、第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖。通常,一个JavaEE项目所依赖的jar包会有很多。然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题。选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容。所以,在过去的构建项目过程中,整理出这么一堆能让项目正常运行的jar包之后,这个lib目录就会变为禁区。jar包版本更新了,我们也很少会自找麻烦去触碰它。至于是不是存在冗余的jar包?能正常运行就好了。后来Maven的出现,解决了开发过程中的这一难题。它可以对项目依赖的jar包进行管理,可以让你的项目保持基本的依赖,排除冗余jar包,并且可以让你非常轻松的对依赖的jar包进行版本升级。而这些仅仅是Maven最基本的功能,它可以在这基础上对项目进行清理、编译、测试、打包、发布等等构建项目的工作。

二 Maven的安装

1,安装Maven

不建议使用MyEclipse中集成的Maven,自己去官网下载一个Maven安装包,解压然后安装即可:

     在环境变量中,创建一个MAVEN_HOME变量值:D:\jeesite\maven(个人的安装路径)

     在Path中加上:%MAVEN_HOME%\bin;(注意,最后要有个";"作为分隔符)

完成之后,在命令行中输入:mvn –version,得到如下结果即为正确。

2,配置本地仓库

完成Maven的安装后,即可在Eclipse中配置一下本地仓库。我们找到Maven的安装路径,进入conf文件夹下,打开Settings.xml,找到localRepositoty标签,然后解除注释,配置一个路径<localRepository>D:/jeesite/maven/repository</localRepository>这样我们以后的jar包都在这里了,然后还需要将Settings.xml文件复制一份放到D:\jeesite\maven\repository,在后期Eclipse集成的时候需要用。

3,Eclipse中集成Maven

在windows —〉Preferences —〉 Maven -〉 Installations中点击add,找到安装路径,即可。下图为我更改后的结果。

在user settings中找到刚才复制的setting.xml文件,然后完成安装即可。如下图所示;

三 在Eclipse中创建Maven项目

在Eclipse点击File -〉 New

点击Next

选中如下如所示的选项,点击Next;


点击Next,然后填写信息:GroupId:是项目组的名字

ArtifactId:项目名字

version:版本默认如下图

然后就创建成功后,会出现一个问题,具体见我另一个博客地址:点击打开链接


四  Maven的文件结构

Maven构建了一个清晰的文件目录,解决的程序员在团体开发过程中,没有统一标准的问题。下面看下Maven的标准目录:

看到用Maven构建的普通Java项目,对源代码、单元测试代码、资源乃至后续需要的文件都有专门的目录规划。

 pom.xml文件介绍

上面的最后有一个pom.xml,这是Maven的核心配置文件,pom称为Project Object Model(项目对象模型),它用于描述整个Maven项目,所以也称为Maven描述文件。

<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">

     

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.xrq.withmaven</groupId>

  <artifactId>withmaven</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <build/>

</project>

这是最基础的配置文件,下面来详细的介绍下其中那个关键词的作用。

1, modelVersion: 指定了当前Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0

2, groupId:  顾名思义,这个应该是公司名或是组织名。一般来说groupId是由三个部分组成,每个部分之间以"."分隔,第一部分是项目用途,比如用于商业的就是"com",用于非营利性组织的就  是"org";第二部分是公司名,比如"tengxun"、"baidu"、"alibaba";第三部分是你的项目名

3, artifactId: 可以认为是Maven构建的项目名,比如你的项目中有子项目,就可以使用"项目名-子项目名"的命名方式

4, version: 版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是,groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,这非常重要,我在使用和研究Maven的时候多次感受到了这点。

5, packing: 项目打包的类型,可以使jar、war、rar、ear、pom,默认是jar

6, dependencies和dependency:前者包括后者,在这里有一个本地仓库和远程仓库的概念,我们自己在配置Maven的时候,会配置一个本地仓库,如果我们项目需要jar包,Maven就会在本地仓库查找Jar包,如果找不到,就向远程仓库查找,并下载到本地仓库。

Eg:

<dependency>

       <groupId>jstl</groupId>

       <artifactId>jstl</artifactId>

       <version>1.2</version>

</dependency>

之前有说过groupId、artifactId、version唯一标识一个Maven项目,有了这三个元素,我们就可以去远程仓库下载jstl1.2.jar到本地仓库了。回想我们之前的做法,如果要MyBatis的jar包,发现没有,然后去网上下载一个,需要另外的jar包,然后去网上下载一个,但是有了Maven,就方便多了,只需要配置jar包对应的dependency依赖,Maven会自动帮助我们去远程仓库中下载jar包到本地仓库中。

7, properties: properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。

 

build:表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称。

接着解释一下Maven的目录结构:

  • main目录下是项目的主要代码,test目录下存放测试相关的代码
  • 编译输出后的代码会放在target目录下
  • src/main/java下存放Java代码,src/main/resources下存放配置文件
  • 这里没有webapp,Web项目会有webapp目录,webapp下存放Web应用相关代码
  • pom.xml是Maven项目的配置文件
原创粉丝点击