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包下载和其他的一些问题





相关推荐
程序员-珍14 分钟前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
2401_8572979140 分钟前
招联金融2025校招内推
java·前端·算法·金融·求职招聘
福大大架构师每日一题1 小时前
23.1 k8s监控中标签relabel的应用和原理
java·容器·kubernetes
金灰1 小时前
HTML5--裸体回顾
java·开发语言·前端·javascript·html·html5
菜鸟一皓1 小时前
IDEA的lombok插件不生效了?!!
java·ide·intellij-idea
爱上语文1 小时前
Java LeetCode每日一题
java·开发语言·leetcode
bug菌1 小时前
Java GUI编程进阶:多线程与并发处理的实战指南
java·后端·java ee
程序猿小D2 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
极客先躯3 小时前
高级java每日一道面试题-2024年10月3日-分布式篇-分布式系统中的容错策略都有哪些?
java·分布式·版本控制·共识算法·超时重试·心跳检测·容错策略
夜月行者3 小时前
如何使用ssm实现基于SSM的宠物服务平台的设计与实现+vue
java·后端·ssm