Maven
Maven :主要服务于基于java平台的项目构建、依赖管理和项目信息管理。它能够帮我们自动化构建过程,从清理,编译,测试到生成报告,再到打包和部署。我们只需要使用Maven配置好项目,输入简单的指令,Maven会帮我们完成其他繁琐的任务。
Maven是一个项目管理工具,包括一个项目对象模型,一组标准集合,一个生命周期,一个依赖管理系统。
优点:
1、 Maven是跨平台的,不论在windows、Linux、mac、都可以使用相同的命令。
2、 自动化构建过程,最大程度的减少构建的重复。
3、 标准化构建过程,减少学习成本,有利于促进团队的标准化。
4、 Maven通过一个坐标系统准确地定位每一个构建(artifact),也就是通过一组坐标Maven能够到任何一个Java类库(如jar文件)。它给这个类库世界引入了经纬,让它们变
得有秩序,于是我们可以借助它来有序地管理依赖,轻松地解决那些繁杂的依赖问题。
5、 Maven还能帮助我们管理原本分散在项目各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等。除了直接的项目信息,通过它自动生成的站点,以及一些已有的插件,我们还能够轻松获得项目文档、测试报告、静态分析报告、源码版本日志报告等非常具有价值的项目信息。
6、 Maven还为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以到任何的流行开源类库。通过一些它的衍生工具(如Nexus),我们还能对其进行快速地搜索。只要定位了坐标,它就能够帮我们自动下载,省去了手工劳动。
7、 Maven对于项目目录结构、测试用例命名方式等内容都有既定的规则,只要遵循了这些成熟的规则,用户在项目间切换的时候就免去了额外的学习成本。
Maven配置
1. 下载Maven
1. 从Maven3.0.3下载Maven3.0.3版本。
2. 从Repository下载本地仓库Repository。
2. 配置Maven
1. Maven.zip 压缩文件解压至D:\JavaTools\Maven目录下。
2. repository.zip 解压至D:\JavaTools\Repository目录下。
3. 配置环境变量
▪ 新建系统变量 变量名:MAVEN_HOME 变量值:D:\JavaTools\Maven
▪ 更新系统变量Path 变量值追加;%MAVEN_HOME%\bin
3. 配置Maven本地仓库
1. 修改Maven\l 中第53行为
<localRepository>D:\JavaTool?\repository</localRepository>
1. 测试Maven
1. 命令行:mvn -version 结果:看到maven版本信息
目录结构:
路径 | 含义 |
src/main/java | Java源代码文件 |
✓ src/main/ resources | 资源库,会自动复制到classes目录里 |
src/main/filters | 资源过滤文件 |
src/main/assembly | 装配描述符 |
src/main/config | 配置文件 |
src/main/scripts | 应用/库脚本 |
✓ src/main/webapp | Web应用目录 |
src/test/java | 单元测试java源代码 |
src/test/ resources | 测试用的资源库 |
src/test/ filters | 测试用的过滤文件 |
src/site | 存放项目文件 |
✓ target/ | 存放项目构建后的文件和目录,jar包、war包、编译的class文件等.target里的所有内容都是maven构建的时候生成的 |
l 是Maven的核心文件
<project xmlns=/POM/4.0.0 xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <!—l根元素声明名称空间-->
<modelVersion>4.0.0</modelVersion> <!—当前pom模型的版本 不能变-->
<groupId>com.ht</groupId> <!—项目的标识-->
<artifactId>hhh</artifactId> <!—项目名-->
<version>0.0.1-SNAPSHOT</version> <!—版本号-->
<packaging>jar</packaging> <!—打包方式-->
<name>hhh</name>
<url></url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!—统一字符编码-->
</properties>
<dependencies> <!—依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
groupId 表示项目属于哪一组,通常和项目所在公司级项目组有关,一个项目在全局中的唯一标示符,也就是创建这个项目的组织或团队的唯一标识(通常域名的反写)
artifactId指明此项目产生的主要产品的基本名称
version 是当前Maven项目的版本号
package 打包方式
✓ classifier该元素用来帮助定义偶见输出的一些附属构建,附属构建和主构件对应。。如
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论