-
Maven简介:
Maven是 Apache软件基金会的一个开源项目,它用来帮助开发者管理项目依赖(管理项目中的jar)、完成项目的编译、测试、
打包和发布等工作。
官网:htt:/ maven. apache. org
·使用 Maven的好处
1、促进项目开发过程规范化;
2、项目资源和文档管理自动、高效
3、利用 Maven及其插件还可以获得代码检査报告、单元测试覆盖率、实现集成测试等。
使用maven首先eclipse中必须要集成maven插件
没有可自己集成maven插件(参考资料)
注:Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅。
Maven 中的概念
Maven 管理的项目的根目录下都有一个 pom.xml 文件。pom.xml 文件指示 Maven 如何工作。
在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖的 jar、插件、编译选项等。
一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件(jar包)。
项目坐标
在 Maven 中,将每个项目最终生成的文件称为 artifact(构件),它可以是 jar 文件,也可以是 war 文件。
groupId、artifactId(项目名称)、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,Maven
通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,packaging是可选的(默认为 jar)。
2.Maven工程项目结构:
3.Maven开发环境搭建:
3.1下载maven服务器
在百度搜索maven官网如下图:
点击链接链接到maven官网网站如下图: https://maven.apache.org
点击download进行下载如下图
3.2安装,配置maven
点击下载二进制的apache-maven-3.5.2-bin.zip进行解压,"然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version查看版本如下图:
表示maven环境配置成功。
接下来根据情况在本地磁盘中建立通过maven下载后jar文件所存储的文件夹,一般我们称为"仓库(repository)";最终是如何将下载的jar文件存储到我们指定的仓库中呢?需要在maven的服务器解压的文件中找到conf文件夹下的settings.xml文件进行修改,如下图所示:
到此如何下载完毕,接下来根据你的开发工具在开发工具中配置maven插件,我们在此使用eclipse进行开发,现在所使用的eclipse一般都有maven插件,所以不需要配置,只需要和maven服务器进行关联即可,首先打开eclipse如下图:
找到maven,然后展开如下图:
找到installations进行安装,接下来展开User Settings选项如下图:
关联maven服务器下的settings.xml即可,
到此环境搭建完毕。
3.3创建maven工程
接下来新建一个maven工程即可,如下图所示:
Maven项目目录结构:
项目根目录下有自动生成的 pom.xml 文件。
根目录下一般包含两个子目录:src 和 target。
target 目录用于存放项目构建的输出文件,比如 class 文件以及打包后的 jar 文件等。
src 目录下通常分为如下目录:
3.4修改目录结构并配置依赖
1、项目目录如果不足,可手工添加;
2、项目右键->Java EE Tools->Generate Deployment Descriptor Stub,
生成 web.xml 文件;
3、项目右键->Maven->Update Project…
3.5 maven环境测试案例下载jar文件
在百度搜索maven仓库官网(http://mvnrepository.com/)如下图所示:
在此官网就可以下载自己所需开发jar包,继续点击链接打开如下:
例如下载servlet jar包
在Pom.xml文件配置jar包信息,使用maven自动下载jar包
该元素用于配置依赖,内部可包含多个
示例如下:
各个子元素功能解释:
compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖包会被拷贝到 war 包中的 lib 目录中。
provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web 容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。
runtime:编译项目时不使用此依赖项,仅运行时依赖。如果你的项目最终打包为 war 包,则该 jar 包最终跟随工程打包。比如数据库驱动 jar,编译时不需要,运行时才使用。
test:在编译测试代码及运行测试的时候依赖此 jar 包。该 jar 包不会被打包。比如 junit。
system: 编译项目主代码和测试代码时使用此依赖项,配合 systemPath 元素显式地指定依赖文件的本地文件系统路径。运行时该 jar 包由目标系统提供。此类依赖不是从 Maven 仓库获取,由本地系统提供,可能造成构件的不可移植,因此应谨慎使用。systemPath 元素也可以引用环境变量,如:
六、
在 pom 的
<junit.version>3.8.1
3.6maven项目打war包
右键pom.xml文件,选择Debug as或Run as 都行。
先选择maven clear清除上次打包的版本
然后选择选择Maven install 打包
War包会自动存放在target目录中,将war包部署到服务器即可