小白快速上手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>
相关推荐
先做个垃圾出来………几秒前
差分数组(Difference Array)
java·数据结构·算法
BillKu17 分钟前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee
刘婉晴1 小时前
【Java】NIO 简单介绍
java·nio
渣哥1 小时前
聊聊我和 ArrayList、LinkedList、Vector 的“一地鸡毛”
java
浮游本尊1 小时前
Java学习第20天 - 性能优化与监控
java
纪莫2 小时前
技术面:Java并发(线程同步、死锁、多线程编排)
java·java面试⑧股
衍余未了2 小时前
k8s 内置的containerd配置阿里云个人镜像地址及认证
java·阿里云·kubernetes
叽哥2 小时前
Kotlin学习第 4 课:Kotlin 函数:从基础定义到高阶应用
android·java·kotlin
渣哥2 小时前
使用 HashMap 提高性能的小技巧
java
kyle~2 小时前
排序---快速排序(Quick Sort)
java·开发语言