MAVEN 傻瓜式快速教程

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MAVEN 傻瓜式快速教程

MAVEN 快速教程

一.MAVEN概念和安装

Maven 是专门用于构建和管理Java相关项目的工具,Maven是意第绪语,依地语(犹太人使用的国际语),表示专家的意思。 所以用Maven管理Java 项目,你就是专家了 -_-!

Maven 主要用处一:相同的项目结构

使用Maven管理的Java 项目都有着相同的项目结构

  1. 有一个pom.xml 用于维护当前项目都用了哪些jar包
  2. 所有的java代码都放在 src/main/java 下面
  3. 所有的测试代码都放在src/test/java 下面

Maven主要用处二:统一维护jar包

比如说有3个Java 项目,这些项目都不是maven风格。那么这3个项目,就会各自维护一套jar包。 而其中有些jar包是相同的。

而maven风格的项目,首先把所有的jar包都放在"仓库“ 里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了。 这样jar包就实现了共享

如图所示,在pom.xml里,表示用到了mysql 的jar包,版本号是5.1.30。

需要先配置好JAVA_HOME环境变量;%JAVA_HOME%\bin

下载maven,配置环境变量

我的电脑,右键–》高级系统设置–》高级–》环境变量:

path–》编辑–》新增,写上maven的路径;

D:\apache-maven-3.6.3\bin

命令:mvn -v,可以看到版本号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rfaIXLMb-1591434544839)(E:\政通路\课堂笔记\S2\assets\image-20200527153714918.png)]

核心:依赖管理和一键构建

二. 仓库概念

所谓的仓库就是用于存放项目需要的jar包的。

maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同jar包。

jar包的管理,从哪里来,这是一个问题???有人说,拷贝过来,拷贝来,拷贝去,问题,中毒。版本不一致,开发者使用jar包版本不一致的问题。

2.1中央仓库

远程存储jar包的仓库,是一个大的集中式仓库,maven

下载jar包—》从哪里下载–》maven中央仓库。maven 会默认从maven官方提供的服务器下载jar包。

仓库默认位置的配置文件:

D:\software\apache-maven-3.6.3\conf\settings.xml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vDGXPE0N-1591434544840)(E:\政通路\课堂笔记\S2\assets\image-20200527154651485.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UNJX6InM-1591434544845)(E:\政通路\课堂笔记\S2\assets\image-20200605144739906.png)]

使用阿里云下载jar包

而官方服务器在国外,因为大家都知道的原因,网速很慢,而且容易卡断。 为了便于快速下载相关jar包,可以使用国内maven 阿里云的下载地址:

打开:

D:\software\apache-maven-3.5.0\conf\settings.xml

在mirrors下新加一个阿里云的镜像地址:

<mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

2.2 本地仓库

我们开发的时候,将远程中央仓库的jar包下载到本地仓库,项目读取本地仓库的jar。

setting文件修改仓库位置:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70Rkw8fI-1591434544849)(E:\政通路\课堂笔记\S2\assets\image-20200528093721253.png)]

2.3 私服仓库

公司里面,自己搭建的类似中央仓库的仓库,供本公司开发者使用的集中式仓库。

三.MAVEN原理

Maven的基本原理很简单,采用远程仓库和本地仓库以及一个pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。如图1同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小,在执行maven任务时,才会自动下载需要的插件。

POM是项目对象模型(Project Object Model)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qsc2B4qr-1591434544851)(E:\政通路\课堂笔记\S2\assets\wps1.jpg)]

Maven有一个官方的仓库,是一个微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。

基本属性:

groupId:项目或者组织的唯一标志,并且配置时生成路径也是由此生成,如org.myproject.mojo生成的相对路径为:/org/myproject/mojo

artifactId:项目的通用名称

version:项目的版本

packaging:打包机制,如pom,jar,maven-plugin,ejb,war,ear,rar,par

name:用户描述项目的名称,无关紧要的东西,可选

url:写明开发团队的网站,无关紧要,可选

其中groupId,artifactId,version,packaging这四项组成了项目的唯一坐标。一般情况下,前面三项就可以组成项目的唯一坐标了。

properties:声明一些常量。如:<file.encoding>UTF-8<file.encoding>引用时 ${file.encoding}

plugin:声明项目中所使用的插件,如热部署时,需要的tomcat插件(放build里面):

<plugins>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
<!-- 源代码使用的开发版本 -->
          <source>1.7</source>
<!-- 需要生成的目标class文件的编译版本 -->
          <target>1.7</target>
        </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
          <url>http://localhost:8080/manager/text</url>
          <path>/ccc</path>
          <server>tomcat</server>
          <username>tomcat</username>
          <password>tomcat</password>
        </configuration>
      </plugin>
    </plugins>

*依赖关系:(*依赖关系是POM的重要部分*)*

junit

junit

3.8.1

test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qj1Sy6NK-1591434544854)(E:\政通路\课堂笔记\S2\assets\wps2.jpg)]

scope : 依赖范围,默认compile还有test,provided,runtime,system compile(编译范围)、provided(已提供范围)、runtime(运行时范围)、test(测试范围)、system(系统范围)。

如何新建一个maven项目

1.配置maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atyEAfJr-1591434544857)(E:\政通路\课堂笔记\S2\assets\image-20200605145434829.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xS3Gny2d-1591434544858)(E:\政通路\课堂笔记\S2\assets\image-20200605145443266.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JLcewfIm-1591434544861)(E:\政通路\课堂笔记\S2\assets\image-20200605145616471.png)]

2.创建新项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JkODoWPp-1591434544864)(E:\政通路\课堂笔记\S2\assets\image-20200605145705501.png)]

3.创建maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x14rXdst-1591434544867)(E:\政通路\课堂笔记\S2\assets\image-20200605145917600.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KoYOz94m-1591434544869)(E:\政通路\课堂笔记\S2\assets\image-20200605150027480.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gL5u354Y-1591434544873)(E:\政通路\课堂笔记\S2\assets\image-20200605150100711.png)]

4.maven项目结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fNbnLj2B-1591434544874)(E:\政通路\课堂笔记\S2\assets\image-20200605150329661.png)]加

5.jar依赖

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzBL1hAK-1591434544880)(E:\政通路\课堂笔记\S2\assets\image-20200605150636816.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TTMPPCgs-1591434544885)(E:\政通路\课堂笔记\S2\assets\image-20200605150732318.png)]

查看jar包位置:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SG23xp0W-1591434544887)(E:\政通路\课堂笔记\S2\assets\image-20200605161131487.png)]

6.测试

在test–>java下新建TestMysql类

public class TestMysql {
    public static void main(String[] args) {
        //jdbc:加载驱动;
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

tring[] args) {

//jdbc:加载驱动;

try {

Class.forName(“com.mysql.jdbc.Driver”);

} catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

}


         


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
Java 应用服务中间件 程序员
Maven教程--下(包括手动实现)
Maven教程--下(包括手动实现)
81 0
|
2月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
66 1
|
5月前
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
248 0
|
8月前
|
XML Java Maven
IDEA安装及创建Maven项目教程【史上最详细】(二)
IDEA安装及创建Maven项目教程【史上最详细】(二)
665 0
|
7月前
|
Java Linux Apache
Maven下载和配置教程:Windows、Mac和Linux系统安装指南
Maven下载和配置教程:Windows、Mac和Linux系统安装指南
313 0
|
8月前
|
搜索推荐 Java 应用服务中间件
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
当涉及到软件开发和项目管理时,使用一个可靠的构建工具是非常重要的。Maven是一个广泛使用的构建工具,它为Java项目提供了一种简化的构建过程和依赖管理。 在本文中,我们将探讨如何部署Maven并开始使用它来构建您的项目。我们将介绍所需的步骤,并向您提供一些有用的提示和建议。
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
|
4月前
|
Java 应用服务中间件 Maven
idea配置本地maven保姆级教程
idea配置本地maven保姆级教程
295 0
|
3天前
|
Java Apache Maven
Maven 教程
Maven是一个由Apache开发的项目管理工具,基于POM概念,用于Java项目的构建、依赖管理和文档生成。它支持多种语言,如C#、Ruby等,并设有一套标准目录结构,遵循约定优于配置原则。Maven负责构建、报告、资源管理、发布和分发等工作,并维护一个本地仓库(~/.m2/repository)存储依赖。
|
2月前
|
Java 测试技术 Maven
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
【2月更文挑战第11天】《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程) 是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
71 3
|
7月前
|
XML Java 测试技术
Maven教程
Maven教程
139 0

热门文章

最新文章