《从零开始搭建游戏服务器》项目管理工具Maven
Apache Maven 是一种创新的软件项目管理工具,提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档,最强大的功能就是能够自动下载项目依赖库,下面就给大家详细介绍下项目管理工具Maven。
Maven功能:
- 依赖库管理:
我们在项目开发中经常会引用一些jar包,按照往常的做法是搜索哪些是必须的然后再放到我们的项目中,比较麻烦。而maven在pom配置文件中对依赖库进行了配置,例如:使用struts2的xx版本,xx发布的,maven插件便会从中央仓库去获取相应的jar包; - 项目的构建:
例如java开发时,使用maven可以替代eclipse在创建和编译项目时的作用; - 项目的版本管理。
Maven安装使用:
1.下载安装包:
到Maven官网下载指定版本的maven安装包,例如这里我下载的是:apache-maven-3.3.9-bin.zip
2.解压配置环境:
直接解压安装包到指定目录(文件目录最好不带中文),打开环境变量,新建一个变量,变量名:MAVEN_HOME
,变量值为压缩包解压之后的文件路径,例如:
往Path变量中添加:%MAVEN_HOME%\bin;
,配置完成后打开命令行窗口,输入mvn -version
,假如之前的配置操作成功,即如下:
基本操作:
以往我们创建一个java工程都是在eclipse中完成的,如今我们可以使用maven来完成创建,步骤如下:
相关指令集:
1.使用archetype
指令来创建项目:
初次创建的时候,会下载很多maven的默认包到系统盘用户数据中的Administrator/.m2\repository
目录下:
问题:假如你和我一样在创建文件的时候,出现了卡在
Generating Project in Batch mode
的问题,那是因为创建项目时需要下载一个4.1M左右的archetype-catalog.xml文件优化方案:假如要加快这个过程,可以直接到http://repo.maven.apache.org/maven2/archetype-catalog.xml下载此文件然后放到本地Administrator\.m2\repository\org\apache\maven\archetype\archetype-catalog\3.0目录下,创建项目指令最后添加一个-DarchetypeCatalog=local即可。
创建成功,可以看到:
创建出来的目录结构如下:
2.编译运行:
打开pom.xml
文件,可以看到里面的<dependencies></dependencies>
依赖集合中添加了一个测试用的junit
3.8.1版本的测试包配置信息:
在命令行窗口进入到刚刚创建的TestMaven项目目录下,使用编译指令进行编译:
编译结束后会在当前目录下生成一个target
文件夹,里面有编译.java源码得到的.class文件,而且Administrator\.m2\repository
文件夹会多出一个junit的目录,pom.xml中配置的相应版本的jar依赖包会被下载到此目录下:
使用测试指令进行测试运行:
3.打包:
假如我们先修改一下AppTest.java入门函数testApp()
的内容,加入一个打印代码:
在当前项目目录下运行打包指令:
执行此指令完成了几个操作:
- 清理目标目录(clean);
- 在
target
目录下会生成一个打包项目得到的TestMaven-1.0-SNAPSHOT.jar
目标文件(带SNAPSHOT表示不稳定版本); - 生成测试报告到
target\surefire-reports
目录; - Maven编译源码,并运行测试用例。
4.将项目当做Maven的本地仓库:
假设通过maven创建的项目已经打包并已测试没问题,又想在其他项目使用本项目的功能,可以通过maven指令将此项目变为本地仓库,指令如下:
指令运行之后,在Administrator\.m2\repository文件夹会增加此项目的目录,其他项目需要用到本项目功能,只需要通过从Maven本地仓库提取jar包即可。