欢迎光临
我们一直在努力

Maven_学习、搭建、应用

一、什么是maven?

Maven_学习、搭建、应用

Apache maven 官网: http://maven.apache.org/

Maven3的所有版本的下载地址:https://archive.apache.org/dist/maven/maven-3/

Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。

 这是maven的一系列执行流程:

Maven_学习、搭建、应用

二、maven的安装和配置

Maven的安装,解压maven的安装包即可使用

Maven的目录介绍
Bin:存放执行脚本文件的地方
Boot:存放一些扩展的地方
Conf:maven的核心配置文件存放的路径
Lib:maven的依赖包

  Maven_学习、搭建、应用

 

maven的配置:

主要的配置文件是    conf >> settings.xml

在配置文件中主要配置以下内容:

1、配置本地仓库的路径

Maven_学习、搭建、应用

2、可以选择配置阿里云的maven仓库镜像(对于maven仓库的jar下载速度有影响)

<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>

3、配置maven的环境变量

MAVEN_HOME=该处填写个人maven的路径E:\apache-maven-3.2.1 Path=%MAVEN_HOME%\bin 

4、进行验证

Maven_学习、搭建、应用

到此说明maven已经安装完毕。

三、maven与eclipse的集成开发

1、如果eclipse没有maven插件,就需要安装插件,打开eclipse验证下

 打开window >> preferences >> maven  如果没有maven就需要安装插件 —> 2

Maven_学习、搭建、应用

2、安装maven插件

打开eclipse点击help-->Install New Software,然后输入要

下载插件的链接地址 http://m2eclipse.sonatype.org/sites/m2e   后回车,勾选择要下载的项,点击下一步进行下载。下载完成会自动安装

Maven_学习、搭建、应用

速度可能会有些慢,还有第二种离线安装的方法,网络搜索 eclipse-maven-plugin  进行下载

Maven_学习、搭建、应用

复制到eclipse的安装目录下,如果提示文件夹已经存在,直接合并即可。

3、进行重启验证是否安装成功

 4、进行相关配置

配置maven的安装目录

window > preferences > maven >Installations > Add > Directory(选择你的maven目录) > Finsh > Apply 应用即可Maven_学习、搭建、应用

配置maven仓库的位置

其中默认选择maven安装目录下的settings.xml,可以自己自定义maven仓库目录(推荐)。

Maven_学习、搭建、应用

四、在eclipse中进行maven项目的开发

1、java项目工程的开发

Maven_学习、搭建、应用

这里选择可以跳过maven骨架的设置(推荐)

Maven_学习、搭建、应用

Maven_学习、搭建、应用

2、javaweb项目的开发

只是这里的选择是 war

Maven_学习、搭建、应用

对于maven中的web.xml文件缺失问题,可以使用 项目上右击选择javeEE的工具帮我们创建

Maven_学习、搭建、应用

每个maven软件项目的管理和工具都在pom.xml中进行配置 详细看 ——>  五

五、maven的核心概念

1、maven中坐标的概念

Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范,拥有了统一规范,就可以把查找工作交给机器

 Maven坐标主要组成

• groupId:定义当前Maven项目隶属项目
• artifactId:定义实际项目中的一个模块
• version:定义当前项目的当前版本
• packaging:定义该项目的打包方式

2、maven的依赖管理与依赖范围

如何进行依赖配置?

传递性依赖和可选依赖,排除依赖
其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:
1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
2.test:测试依赖范围。只对于测试classpath有效
3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
4.runtime:运行时提供。例如:jdbc驱动

依赖范围对传递依赖的影响

Maven_学习、搭建、应用

Maven的直接依赖与间接依赖

Maven_学习、搭建、应用

3、maven 仓库管理

用来统一存储所有Maven共享构建的位置就是maven仓库(简单而言就是项目所需的各种依赖jar包)

Maven仓库布局
• 根据Maven坐标定义每个构建在仓库中唯一存储路径
• 大致为:groupId/artifactId/version/artifactId-version.packaging
仓库的分类
• 本地仓库
~/.m2/repository/
每个用户只有一个本地仓库
• 远程仓库
• 中央仓库:Maven默认的远程仓库
http://repo1.maven.org/maven2
• 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库

4、maven的生命周期

何为生命周期?
• Maven生命周期就是为了对所有的构建过程进行抽象和统一
• 包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤
 Maven三大生命周期
• clean:清理项目的
• default:构建项目的
• site:生成项目站点的

• 生命周期Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
再次强调一下它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

  Maven_学习、搭建、应用

5、maven的插件

• Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的
• 每个插件都能实现多个功能,每个功能就是一个插件目标
• Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务

例如:

Maven_学习、搭建、应用Maven_学习、搭建、应用

<build> <plugins> <!-- 配置Tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port>8086</port> </configuration> </plugin> <!-- maven的源码打包插件 --> <plugin> <artifactId>maven-source-plugin</artifactId> <version>2.4</version> <configuration> <attach>true</attach> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

View Code

6、maven的私服

什么是私服?
为什么使用Nexus私服软件?
Nexus安装与使用
Nexus的仓库和仓库组
宿主仓库
代理仓库
仓库组
配置Maven从Nexus下载,部署构建

Maven_学习、搭建、应用

有关于maven私服的使用较少,想了解的可以参考:

搭建私服那点事:https://www.cnblogs.com/zishengY/p/7794923.html

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Maven_学习、搭建、应用》
文章链接:https://www.456zj.com/38221.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址