Maven总结

文章目录


为什么学习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包下载和其他的一些问题





相关推荐
禁默35 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Cachel wood42 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑44 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
gb42152871 小时前
springboot中Jackson库和jsonpath库的区别和联系。
java·spring boot·后端
程序猿进阶1 小时前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
zfoo-framework1 小时前
【jenkins插件】
java
风_流沙1 小时前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase2 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
乐之者v2 小时前
leetCode43.字符串相乘
java·数据结构·算法