《从零开始搭建游戏服务器》项目管理工具Maven
简介
什么是Maven?Maven是一个项目管理和综合工具,提供了开发人员构建一个完整的生命周期框架。
Maven使用标准的目录结构和默认构建生命周期,在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作,例如:创建报表、检查、构建和测试自动化设置。概况地说,Maven简化和标准化项目建设过程,增加可重用性并负责建立相关的任务。
(注:Maven项目的结构和内容在一个XML文件中声明,pom.xml项目对象模型(POM),这事系统的基本单元)
Apache Maven 是一种创新的软件项目管理工具,提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档。最强大的功能就是能够自动下载项目依赖库。
Maven功能:
- 依赖库管理:
我们在项目开发中经常会引用一些jar包,按照往常的做法是搜索哪些是必须的然后再放到我们的项目中,比较麻烦。而maven在pom配置文件中对依赖库进行了配置,例如:使用struts2的xx版本,xx发布的,maven插件便会从中央仓库去获取相应的jar包; - 项目的构建:
例如java开发时,使用maven可以替代eclipse在创建和编译项目时的作用; - 项目的版本管理。
Maven安装使用:
1.下载安装包:
到Maven官网下载指定版本的maven安装包,例如这里我下载的是:apache-maven-3.5.4-bin.zip
2.解压配置环境:
直接解压安装包到指定目录(文件目录最好不带中文),打开环境变量,新建一个变量,变量名:MAVEN_HOME,变量值为压缩包解压之后的文件路径,例如:
往Path变量中添加:%MAVEN_HOME%\bin;,配置完成后打开命令行窗口,输入mvn -version,假如之前的配置操作成功,即如下:
基本操作:
以往我们创建一个java工程都是在eclipse中完成的,如今我们可以使用maven来完成创建,步骤如下:
相关指令集:
mvn archetype:generate #创建项目指令
mvn compile #编译项目指令
mvn test #测试项目指令
mvn clean package #打包项目指令
mvn clean install #项目仓库化指令
1.使用archetype指令来创建项目:
mvn archetype:generate
-DgroupId=com.test.maven(项目包名)
-DartifactId=TestMaven(工程名)
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
初次创建的时候,会下载很多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即可。
创建成功,可以看到:
创建出来的目录结构如下:
TestMaven
|-src
|---main
|-----java
|-------com
|---------test
|-----------maven
|-------------App.java
|---test|-----java
|-------com
|---------test
|-----------maven
|-----------AppTest.java
|-pom.xml
2.编译运行:
打开pom.xml文件,可以看到里面的<dependencies></dependencies>依赖集合中添加了一个测试用的junit3.8.1版本的测试包配置信息:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.</modelVersion>
<groupId>com.test.maven</groupId>
<artifactId>TestMaven</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>TestMaven</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
在命令行窗口进入到刚刚创建的TestMaven项目目录下,使用编译指令进行编译:
mvn compile
编译结束后会在当前目录下生成一个target文件夹,里面有编译.java源码得到的.class文件,而且Administrator\.m2\repository文件夹会多出一个junit的目录,pom.xml中配置的相应版本的jar依赖包会被下载到此目录下:
使用测试指令进行测试运行:
mvn test
3.打包:
假如我们先修改一下AppTest.java入门函数testApp()的内容,加入一个打印代码:
public void testApp()
{
assertTrue( true );
System.out.println("hello maven");
}
在当前项目目录下运行打包指令:
mvn clean package
执行此指令完成了几个操作:
- 清理目标目录(clean);
- 在
target目录下会生成一个打包项目得到的TestMaven-1.0-SNAPSHOT.jar目标文件(带SNAPSHOT表示不稳定版本); - 生成测试报告到
target\surefire-reports目录; - Maven编译源码,并运行测试用例。
4.将项目当做Maven的本地仓库:
假设通过maven创建的项目已经打包并已测试没问题,又想在其他项目使用本项目的功能,可以通过maven指令将此项目变为本地仓库,指令如下:
mvn clean install
指令运行之后,在Administrator\.m2\repository文件夹会增加此项目的目录,其他项目需要用到本项目功能,只需要通过从Maven本地仓库提取jar包即可。
《从零开始搭建游戏服务器》项目管理工具Maven的更多相关文章
- 《从零开始搭建游戏服务器》Eclipse和Tomcat安装配置
我选择用来进行服务器开发的语言是Java,开发流程更接近于JavaWeb,所以需要先为开发配置一个开发环境,需要配置的主要是Eclipse和Tomcat(Web工程的容器或管理工具). 一.资源下载: ...
- 《从零开始搭建游戏服务器》MySQL安装配置
一.下载资源: 到MySQL官网下载免安装版的mysql包,或者直接点击此链接下载:mysql-5.7.19-winx64.zip 二.解压配置: 将上面下载的安装包解压到一个本地目录下,在得到的my ...
- 在阿里云服务器(ECS)上从零开始搭建nginx服务器
本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...
- ③---Java项目管理工具MAVEN安装与配置
Java项目管理工具MAVEN安装配置以下将为大家介绍Java项目管理工具MAVEN安装及其配置. 一.下载MAVEN安装文件 maven下载地址:https://maven.apache.org/d ...
- 向西项目管理工具Maven一片
前言 相信仅仅要做过 Java 开发的童鞋们,对 Ant 想必都不陌生,我们往往使用 Ant 来构建项目,尤其是涉及到特别繁杂的工作量.一个 build.xml 可以完毕编译.測试.打包.部署等非常多 ...
- 关于项目管理工具 maven
众所周知,maven是目前很常用的项目管理工具.一般情况下,通过在pom.xml添加相应内容,再maven-->update就会自动把相应的jar包下载.配置好,非常方便. 一般每新建一个wor ...
- idea集成项目管理工具 --- Maven 并且【配置tomcat】
介绍: 1.项目管理工具 POM Porject Object Model 2.可以管理项目中的的jar包依赖 3.maven jar包中央仓库:http://mvnrepository.c ...
- Linux学习1-云服务器上搭建禅道项目管理工具
前言 相信各位测试的小伙伴出去面试总会被问到:测试环境怎么搭建?一个中级测试工程师还是对测试环境一无所知的话,面试官会一脸鄙视的,今天我给大家介绍一下最简单的环境部署-—如何在云服务器部署禅道环境. ...
- windows环境搭建禅道项目管理工具
zentao官网的几个网址 http://www.zentao.net/ http://www.zentao.net/article-view-79863.html 搭建环境需要下载两个文件 1) ...
随机推荐
- php 计算当天凌晨时间戳 以及获取其他常用时间戳
php 计算当日凌晨时间戳 以及获取其他常用时间戳(持续补充中...) 获取当天凌晨时间戳: echo strtotime(date('Y-m-d')); 以下再列举一些获取其他常用时间戳的方法 获取 ...
- GoF23种设计模式之结构型模式之享元模式
一.概述 运用共享技术有效地支持大量细粒度的对象. 二.适用性 1.当一个应用程序使用了大量的对象的时候. 2.由于使用大量的独享而造成很大的存储开销的时候. 3.对象的大多数状态都可变为外部状态的 ...
- Python头脑风暴4
IT是全国平均薪资最高的行业,2017年全国最高,人均13点4万每年. 但技术固然好,创业拼的还是世界观下的创意. 蘑菇街,并夕夕,TikTok,头条,哪个不是创意用IT技术的现实化?? 未来,大平台 ...
- 用decimal模块增加python的浮点数精度
浮点数python默认是17位精度,也就是小数点后16位(16位以后的全部四舍五入了),虽然有16位,但是这个精度越往后越不准. 如果有特殊需求,需要更多的精度,可以用decimal模块,通过更改其里 ...
- stm32之ADC应用实例(单通道、多通道、基于DMA)
文本仅做记录.. 硬件:STM32F103VCT6 开发工具:Keil uVision4 下载调试工具:ARM仿真器 网上资料很多,这里做一个详细的整合.(也不是很详细,但很通俗). 所用的芯片内嵌 ...
- 笔记-python-urllib
笔记-python-urllib 1. 简介 PYTHON3中将urllib,urllib2整合到URLLIB中 包括以下模块 urllib.request 请求模块(核心) urllib. ...
- 迷宫问题&MakeFile
先看一个有意思的问题, 我们定义一个二维数组表示迷宫. 它表示一个迷宫, 其中的1表示墙壁,0表示可以走的路, 只能横着走或竖着走,不能斜着走, 我们要编程序找出从左上角到右下角的路线.其实这个问题可 ...
- 【转】基于 Apache 在本地配置多个虚拟主机
如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/s ...
- python - unittest - testsuite and runner
前置条件: 测试用例部分或全部编写完成 一. 生成测试集 1. 方法1 - 通过加载函数来加载测试用例 import unittest from TestCase.test_login import ...
- Apache JMeter汉化手册
/*杜绝抄袭,分享请注明链接:http://www.cnblogs.com/yana789 Apache JMeter 应用是纯java开源的应用工具,压力测试和负载测试的容易上手工具. Apache ...