×

一定要学会将你的项目管理交给Maven

96
测试开发栈
2018.06.04 14:13* 字数 893

很多童鞋在eclipse或IDEA中新建项目时,还是习惯性的新建普通的Java Project,将项目的依赖和打包通过手工的方式来添加和执行,这样实在太不方便了,而且效率也低,此外,如果涉及到团队分工合作,一个项目有多人提交代码,没有项目管理工具辅助那将会非常混乱,所以为何不解放双手,将这一切交给Maven!?

Maven的作用

在项目开发中,需要用到各种框架和工具,这些框架和工具实质上都是打包成jar包的形式为我们提供服务的,为了使用这些框架和工具的功能,我们就需要将这些jar引入到我们的项目中,在没有用Maven的时候,我们通常都是将这些jar包从网上下载到本地,然后在Add to build path,这样就会存在很多问题:
1、各种框架或工具可能引用了相同的jar包,那么你下载下来就会有重复的jar包,而从引起包的版本冲突;
2、由于jar包路径的变更或环境问题,很容易造成找不到jar包,而从导致编译和运行报错“ClassNotFoundException”;

各种IDE创建的Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。因此,我们就要用到Maven来作为项目管理工具。Maven主要做了两件事:

  • 统一开发规范与工具
  • 统一jar包管理

如何创建Maven项目?

首先得知道如何创建Maven项目,Eclipse如图(IDEA中默认即是创建Maven项目,而且灰常简单和方便,就不截图了):
1> 正常情况下打开eclipse的File--》New,在右侧的列表中未找到Maven项目的话,就进入列表最后的Other选项中去找:


2> 打开Other选项,会打开下面界面,找到Maven节点即可:



选择Maven Project,按提示输入项目名和路径等信息一路next即创建了Maven项目。
3> 可是有时候我想从普通Java 项目转成Maven 项目有没有办法?
必须的,Eclipse提供了方法,选中项目点击右键,在菜单中找到Configure ,看图:



4> Maven项目相比普通Java项目在文件上多了一个pom.xml文件,所有的配置基于这个xml文件进行,

Maven如何管理依赖包?

打开pom.xml文件,看一下它的大致结构:

<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>com.alany.demo</groupId>
  <artifactId>maven-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <dependencies>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.1</version>
      </dependency>
    </dependencies>
  <build/>
</project>

如上面所示,需要为项目添加依赖,在上面xml文件中 <dependencies></ dependencies>中加入对应信息即可,是不是非常方便和好用!
那么又来问题了,我怎么知道这些依赖的groupId和artifactId,百度搜一下就出来了,正规的框架或工具都会上传到Maven仓库的,在下面这个公共Maven仓库中找即可:http://mvnrepository.com/


另外对这些dependency里面的标签也解释一下:
1、groupId:顾名思义,这个应该是公司名或是组织名。一般来说groupId是由三个部分组成,每个部分之间以"."分隔,第一部分是项目用途,比如用于商业的就是"com",用于非营利性组织的就  是"org";第二部分是公司名,比如"tencent"、"baidu"、"alibaba";第三部分是你的项目名;
2、artifactId:可以认为是Maven构建的项目名,比如你的项目中有子项目,就可以使用"项目名-子项目名"的命名方式;
3、version:版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是,groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,这非常重要,我在使用和研究Maven的时候多次感受到了这点。

纸上得来终觉浅,赶快在自己的项目中用起来吧!

原文来自下方公众号,转载请联系作者,并务必保留出处。
想第一时间看到更多原创技术好文和资料,请关注公众号:测试开发栈

Web自动化测试
Web note ad 1