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





相关推荐
Yaml438 分钟前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~40 分钟前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong16168842 分钟前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端
aloha_7891 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
记录成长java2 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
睡觉谁叫~~~2 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
程序媛小果2 小时前
基于java+SpringBoot+Vue的旅游管理系统设计与实现
java·vue.js·spring boot
小屁孩大帅-杨一凡3 小时前
java后端请求想接收多个对象入参的数据
java·开发语言
java1234_小锋3 小时前
使用 RabbitMQ 有什么好处?
java·开发语言
TangKenny3 小时前
计算网络信号
java·算法·华为