Idea+Maven(3)|学习笔记

简介: 快速学习Idea+Maven(3)

开发者学堂课程【Maven框架实战教程Idea+Maven(3)】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/641/detail/10578


Idea+Maven(3)


内容简介:

一、Maven 介绍

二、Maven 优势

三、学 Java 好处


一、Maven 介绍

Maven 一个跨平台的项目管理工具

1.主要内容 

1项目对象模型(POM)

通过一小段描述信息来管理项目【pom.xml

2项目生命周期(Project Lifecycle)

3依赖管理系统(Dependency Management System)

2.核心优势

一个是项目构建的自动化另一是依赖管理的统一化。

这些概念有点抽象,其实核心的项目构建和依赖管理。

3.举例子

按每组七八个人分成项目组

比如在企业中,我们会分成很多团队,分成多个项目,第一组做这个项目,第二次做那个项目,这是一般在企业中分布式项目,8个组做8个项目,最后可拼成个大的项目,最后就会存在问题。最核心的就是所阐述的第二阶段的导包方式,为什么这地方要变一般来说,项目之间是需要相互去用接口的。

第一组做的项目,第二组要调,第二组做的项目,第五组可能也,第一组提供接口给第二组,那就会存在问题了。

比如第一组.jar第二组调用第一组的包按照现在的做法,是把第一组的项目打成,拷贝过来就可以用了。种传统做法肯定没问题,但是第一组把这个项目升级了,第二再次拷贝然后服务器升级。突然发现升级之后跟第一组不兼容了,整个项目错了,这样就会存在一些问题

到时候还想办法回滚,回到哪里去?

所以对于之前做的所有项目,它是一个很大的问题没有版本的管理,没有用对jar 统一管理。

现在构建都是自动化,工具是越来越完善,做起事情起来越来越简单。就以这个例子,让大家感受到之前它是有不足的,想回滚没版本都不知道回滚到哪里去,只能靠记忆,靠做好的备份。


二、Maven 优势

项目构建过程:编译、测试、打包、部署。

1.构建自动化

两个优势,一个构建,一个统一管理

(1)Ant

仅项目构建无依赖管理。

没有对项目目录结构进行约定,需要手动指定源文件类文件等地址,需要写代码比较费劲,现在基本上都被企业淘汰

(2) Maven

不仅是一个项目构建工具,更是一个项目管理工具。

对项目目录结构拥有约定,知道你的源文件在哪里,类文件在哪里。构建自动化(生命周期:编译、测试、打包、部署) 

Maven项目自动化构建,非常方便,Maven 项目是有约定的。Maven 项目目录做约定,他的目录结构跟之前有点不一样,因为他已经约定好在里面放 resource 文件、资源文件,里面放类文件,他做了一个约定,因为他能在你约定的目录去做自动化。自动化也是有前提的,当然它会有这些约定。

针对这个概念,我们先有一个初步的认识知道它能去帮我们去做构建自动化 

2.依赖管理

Maven的优势,大部分都使用依赖管理。

这里列出来传统项目的不足,就是大家第一阶段第二阶段做事的方式

(1)之间无具体的管理关系

基于时代的变化,技术的变革,就出现了 Maven可以来帮我们对 jar 包做统一的管理需要每次都拷贝 jar 包,统一通过仓库来完成,只需要统一一个仓库就可以了。

图片13.png

这个图看上去会觉得有点费劲,先简要分析一下,我们建的就是这个 Maven 项目,那么这个就是我们要建的项目,这就是我们创建的项目就在这个地方

2)第三方依赖库常常没有版本号

创建的 Maven 项目jar 包不在项目中 jar 包只是换了一种方式本地仓库管理

所有的 jar ,同时有版本号的管,以前我们没有版本,现在都有统一的版本。

仓库的包来源于远程仓库,本地仓库通过连接公司内部的私服服务器,到互联网中

的仓库,互联网中的站点地址,这个就是在互联网中共享的 jar 包。

项目找本地仓库要 jar ,在这层公司内部一般会搭建私服服务器互联网中的私服站点,这个地方所选用的就是阿里云的共享站点,阿里在这块做了很多贡献,很多都是开源免费的,提供了一个服务器,我提供的也共享给大家

本地去找阿里云的共享的私服服务器,然后阿里云服务器上有就直接拿过来没有去互联网中去找,把包拿过来

图片14.png

3.Maven

统一依赖管理

单应用与多模块开发共用

互联网共享站点

不用复制包

http:llrepo1.maven.org/maven2

httpllmaven.aliyun. com/nexusIcontent/groups/public


三、学 Java 好处

我们学 Java 开发好处,全世界共享开源最多的就是 Java 语言,特别多的开源的技术,其实大数基本上都是 Java 的站点,都是 Java 开发的。 

阿里巴巴内部核心的Java 的团队,京东内部核心的Java 团队,百度内部核心的也是 Java 团队。不管是什么语言什么客户端,基本上做后端服务,做服务端这一块,Java 第一,所以它的起点比别人的要高。

这里有互联网共享站点,提供了两个,不用复制包:

http:llrepo1.maven.org/maven2

httpllmaven.aliyun. com/nexusIcontent/groups/public

让 jar 包统一管理。

互联网共享站点:

图片15.png

1.2.是不是看到有 jar 包,这是互联网中共享的。

从第三阶段学习到第四阶段,需要有网络的支持,也基于我们用的是阿里云的。

图片16.png点一下1.2

图片17.png

Jar 包都可以看到。

这都是互联网共享的战略,这先了解到它的优势,方便以后使用

相关文章
|
2月前
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
232 80
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
1月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
66 4
idea maven创建kotlin项目
|
14天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
30 1
|
29天前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
235 1
|
30天前
|
Java Linux Maven
IDEA如何用maven打包(界面和命令两种方式)
【10月更文挑战第14天】本文介绍了两种Maven项目打包方法:命令行与IDEA界面。首先确保已安装Maven并配置环境变量,通过`mvn -v`检查安装。命令行打包需进入项目目录,执行`mvn package`,之后在`target`目录查看结果。IDEA打包则需配置Maven路径,打开Maven Projects窗口,双击Lifecycle下的`package`阶段,同样在`target`目录查找生成文件,并在Build窗口查看日志以排查问题。
472 1
|
1月前
|
Java Devops 持续交付
Maven学习笔记(二):Maven基础(基于IDEA)
【10月更文挑战第1天】Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。上一篇简单介绍了Maven的基础知识,本文主要介绍IDEA上的实际使用场景。内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。仅供参考。
147 0
Maven学习笔记(二):Maven基础(基于IDEA)
|
1月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
131 0
idea+maven+tomcat+spring 创建一个jsp项目
|
1月前
|
Java Maven
震惊!idea专业版如何配置maven国内源手把手教学
文章提供了如何在IDEA专业版中配置Maven使用国内源(如阿里云)的详细步骤,以加快依赖下载速度,并解释了配置国内源的原因。
352 0
震惊!idea专业版如何配置maven国内源手把手教学
|
2月前
|
XML Java Maven
idea配置maven步骤及常见问题
本文介绍了在IDEA中配置Maven的详细步骤,包括Maven的下载、系统环境变量的配置、Maven本地仓库的设置、镜像加速的配置,以及在IDEA中指定Maven路径和配置文件。同时,还提供了解决每次新建项目需要重新手动配置Maven问题的方法。
idea配置maven步骤及常见问题
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成