小白快速上手maven【基础篇】

Maven的概念和作用

  1. Maven是什么?
  2. POM的概念
  1. Maven的作用?
    1. 提供自动化构建项目的方式,并且统一了项目的结构
    2. 管理项目中的依赖

Maven基础概念-仓库,坐标,仓库配置

  1. 仓库:用于存储各种jar包资源

根据功能的不同,仓库分成本地仓库,私服仓库,中央仓库。

所有的jar包资源最终都是来源于远端的中央仓库。

但是为了解决网络资源和提高下载资源速度,所以可以建立一个私服仓库,提前将资源下载好。

这样本地仓库在拉取资源的时候,可以直接从私服仓库中获取,而不是从中央仓库中获取。

私服的作用

  • 在一定范围内共享资源 ,用于缓解从中央仓库上拉取资源速度慢的问题,但只对内开放共享。
  • 保护具有版权的jar包,包括自主研发的和自行购买的jar包
  1. 坐标
  • 什么是坐标?
  • 坐标的主要组成
  • 坐标的作用
  1. 仓库配置

如果要修改maven获取资源的来源,即不从中央仓库中获取资源,可以使用阿里云的镜像仓库。

将maven配置阿里云的镜像也很简单,可以将以下配置写入%MAVEN_HOME%/conf/settting.xml中的<mirrors>标签中。

xml 复制代码
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

第一个Maven项目

Maven项目结构

  • poject
    • maven-project
      • src
        • main
          • java
          • resources
        • test
          • java
          • resources
      • pom.xml

用IDEA进行Maven项目构建

  1. 创建maven项目
  1. 起组织名GoupId,项目名ArtifactId,项目版本号Version
  1. 查看项目结构
  1. 在pom.xml中添加junit.jar的依赖
xml 复制代码
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
</dependencies>
  1. 使用构建工具操作项目
  • 使用Idea给构建方法进行一个配置
  • 也可以直接使用maven的构建工具

上面的项目是没有使用模板的maven项目,当然也会有带有模板的项目。

最常用的就是基于Java的Maven项目,需要选择quickstart模板。和基于Web的Maven项目,需要使用webapp模板。

  • quickstart模板

特点:

  • 自带了一个初始的程序
  • pom.xml中已经配置好了junit和一些其他maven插件
  • webapp模板

特点:

  • 自带了junit和一些maven插件
  • 有一个webapp的目录,其中有web.xml。(因为没有java,resources,test文件夹,可以自己补上)

在Maven项目中安装Tomcat插件

将以下内容粘贴在pom.xml中,然后进行刷新就可以得到tomcat插件,在构建枸橘中

xml 复制代码
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>
相关推荐
可乐加.糖25 分钟前
项目版本管理和Git分支管理方案
java·git·目标跟踪·gitlab·敏捷流程·源代码管理
wowocpp44 分钟前
spring boot Controller 和 RestController 的区别
java·spring boot·后端
繁依Fanyi2 小时前
我的 PDF 工具箱:CodeBuddy 打造 PDFMagician 的全过程记录
java·pdf·uni-app·生活·harmonyos·codebuddy首席试玩官
遗憾皆是温柔2 小时前
MyBatis—动态 SQL
java·数据库·ide·sql·mybatis
LallanaLee2 小时前
常见面试题
java·开发语言
爱尚你19933 小时前
Java 泛型与类型擦除:为什么解析对象时能保留泛型信息?
java
电商数据girl3 小时前
酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
java·大数据·开发语言·python·json·旅游
CircleMouse3 小时前
基于 RedisTemplate 的分页缓存设计
java·开发语言·后端·spring·缓存
ktkiko113 小时前
顶层架构 - 消息集群推送方案
java·开发语言·架构
zybsjn3 小时前
后端系统做国际化改造,生成多语言包
java·python·c#