当前位置: 首页 > article >正文

Maven总结

文章目录

  • 为什么学习Maven?
  • 一、Maven项目架构管理工具
  • 二、Maven的下载安装及配置
    • 1.maven的下载
    • 2.maven目录结构
    • 3.配置阿里云镜像和本地仓库:
    • 4.maven配置环境变量。
    • 5.阿里云镜像和本地仓库说明
  • 三、idea中maven的操作
    • 1.以模板的形式创建maven项目
    • 2.其他配置maven的方式
    • 3.不勾模板的方式创建项目
    • 4.勾模板与不够模板在idea结构上的区别
    • 5.标记文件夹
  • 四、配置tomcat
  • 五、Maven命令操作及pom文件
  • 六、jar包下载和其他的一些问题
    • 1.maven仓库
    • 2.Maven的高级之处
    • 3.资源导出失败的问题
    • 4.安装配置中遇到的问题
      • (1)不能导入包
      • (2)Tomcat闪退
      • (3)重复配置maven
      • (4)maven默认web项目中的web.xml版本问题
    • 5.idea中添加jar包的两种方式
      • 方式一:
      • 方式二:


为什么学习Maven?

在这里插入图片描述
可以说Maven就是用来导包的。


一、Maven项目架构管理工具

使用maven的目的:方便导入jar包。
maven的核心思想:约定大于配置

  • 约定大于配置
    • 有约束,不要去违反。
    • maven会规定好你该如何去编写java代码,必须按照这个规范来。

二、Maven的下载安装及配置

1.maven的下载

官网下载地址
在这里插入图片描述
Tar.gz是linux的,zip是windows的。
Source 是源码。Binary 二进制文件,是已经弄好的项目。

2.maven目录结构

在这里插入图片描述
Repo是仓库的缩写。
Boot:是一些启动相关的文件。
在这里插入图片描述

3.配置阿里云镜像和本地仓库:

可以搜索出阿里云镜像。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
pluginGroups插件组,可以在里面放插件。
Proxies:是配置了一些连接的端口信息。
profiles可以配置多套环境。

4.maven配置环境变量。

在这里插入图片描述
在这里插入图片描述
这样命名是因为之后用的很多自动依赖的系统,如Springboot,spingcloud里面引用了M2_HOME的地址。
在这里插入图片描述

5.阿里云镜像和本地仓库说明

在这里插入图片描述
建立一个本地仓库,不需要每次都去网上下。
在这里插入图片描述

三、idea中maven的操作

1.以模板的形式创建maven项目

在这里插入图片描述
这是创建一个mavenWeb项目,普通的maven项目不用勾。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等加载结束就可以了。

在这里插入图片描述
在这里插入图片描述
去阿里云上下载了一堆文件,如果没有配镜像就是去国外下。
在这里插入图片描述
这时本地仓库中就有了东西了。
在这里插入图片描述
爆红的,就是这个东西没有下载下来。

2.其他配置maven的方式

在这里插入图片描述
Build tools:构建工具。
在这里插入图片描述
jar里面是class文件,source里面是java文件,可以选择性勾上。文档太大了,不要勾。
在这里插入图片描述
使用项目的jdk.
在这里插入图片描述
Unable to import 没有导入成功。说明本地里面没有junit。
这样生成项目是有问题的,没有生成另外两个文件夹。

3.不勾模板的方式创建项目

在这里插入图片描述
直接下一步
在这里插入图片描述
在这里插入图片描述

4.勾模板与不够模板在idea结构上的区别

不勾模板:
在这里插入图片描述
勾模板:
在这里插入图片描述
这个是第一个,不干净的,和tomcat的webapp文件夹一样。
现在要变成上面的目录文件夹,要自己建java和resources文件夹。

5.标记文件夹

在这里插入图片描述
将该文件夹标记为一个源码目录,变蓝后就可以new class了。
在这里插入图片描述
同理,resource文件夹标记为资源目录。
还要一个test文件夹暂时不用。
第二种方式:通过项目结构的模块部分来标记文件夹。
在这里插入图片描述
Modules:模块。
Libraies:插件库。
Problems:你的项目如果出了一些问题,会直接告诉你出了哪些问题。
Facets和artifacts:导出的一些包。
在这里插入图片描述

四、配置tomcat

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点第一个就可以了,exploded是导出的。这两个没有什么影响,因为都是war包。
在这里插入图片描述
虚拟路径映射。
在这里插入图片描述
由于这是一个项目,没有webapps中那么多的项目,所以需要配置一个虚拟路径映射。

在这里插入图片描述
在这里插入图片描述

五、Maven命令操作及pom文件

在这里插入图片描述

maven项目会生成一个target输出目录,点一下清理clean,这个输出目录就没了。
Compile:编译。Package:打包。Install:安装。Test:测试,一般不用。
Plugins:插件。
在这里插入图片描述
在这里插入图片描述
导入的jar包在lib目录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
build里面的东西其实不是硬性需要的,但因为项目创建时使用了一个maven模板,idea就告诉你要去用。这个模板里面嵌的一些东西无法去修改。

推荐直接创建一个mavenWeb项目,不用模板,手动去配置。

在这里插入图片描述

这个干净的项目里面没有dependencies这个东西。
在这里插入图片描述
加一个dependencies,右边就有了,会自动导入。

六、jar包下载和其他的一些问题

1.maven仓库

在这里插入图片描述
在这里插入图片描述
引入依赖后,会先在本地仓库中找,如果没有就会自动根据镜像中的地址去远程下载。

2.Maven的高级之处

在这里插入图片描述
会自动帮你导入这个jar包所依赖的其他jar包文件。

3.资源导出失败的问题

在这里插入图片描述

4.安装配置中遇到的问题

在这里插入图片描述

(1)不能导入包

jdk和maven的版本不一致问题。重新下一个合适的版本。

(2)Tomcat闪退

在这里插入图片描述
如果javahome和classpath都没有配,tomcat就会闪退。

(3)重复配置maven

idea中有全局配置,也有该项目下的配置。进行全局配置就可以了。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(4)maven默认web项目中的web.xml版本问题

在这里插入图片描述
保持idea中的web.xml文件和tomcat中的一致。
在这里插入图片描述

5.idea中添加jar包的两种方式

方式一:

在这里插入图片描述
在这里插入图片描述
如果没有搜到,就是本地仓库中不存在。
在这里插入图片描述
不知道要导入什么jar包。也可以去tomcat中找,tomcat中能够执行成功,肯定有相关的jar。
在这里插入图片描述
在这里插入图片描述
一般用的最多的就是正确的。
在这里插入图片描述
可以将maven依赖复制到pom文件中。

方式二:

也可以在这上面直接下载出jar包。
在这里插入图片描述
Scope作用域。Provided:生产。可以去掉这个。因为几乎所以地方都能用是最好的。
在这里插入图片描述
或者获取需要导入类的全路径,然后直接下载。
在这里插入图片描述


http://www.kler.cn/a/146527.html

相关文章:

  • Agent一键安装,快速上手Zabbix监控!
  • Web第一次作业
  • ClickHouse-CPU、内存参数设置
  • 深度学习-87-大模型训练之预训练和微调所用的数据样式
  • 【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)
  • pycharm+pyside6+desinger实现查询汉字笔顺GIF动图
  • python树的孩子链存储结构
  • C#每天复习一个重要小知识day10:静态类
  • Windows Server 2012R2 修复CVE-2016-2183(SSL/TLS)漏洞的办法
  • LLM之Agent(二):BabyAGI的详细教程
  • 【华为OD】B\C卷真题:100%通过:整型数组按个位值排序 C/C++实现
  • 精进Beautiful Soup 小技巧(三)---综合提供效率(缓存/error/多线程/异步)
  • c语言-冒泡排序
  • C#文件基本操作(判断文件是否存在、创建文件、复制或移动文件、删除文件以及获取文件基本信息)
  • 四、IDEA创建项目时,Maven Archetype模板工程说明
  • P18 C++ 继承
  • Rust语言入门教程(四) - 数据类型
  • 案例034:基于微信小程序的课堂助手系统
  • app自动化测试接口文档与在线测试
  • LangChain 9 模型Model I/O 聊天提示词ChatPromptTemplate, 少量样本提示词FewShotPrompt
  • 基于C#实现奇偶排序
  • sql 动态语句
  • vue+springboot读取git的markdown文件并展示
  • Camtasia Studio2024专业的屏幕录制和视频剪辑软件
  • 人工智能 -- 神经网络
  • 切水果小游戏