maven基础

news/2024/11/13 3:34:46/

一、Maven基础

为什么要学习Maven?

  • Maven作为依赖管理工具,能够管理大规模的jarjarjar包,使用MavenMavenMaven后,依赖对应的JarJarJar包,能够自动下载、方便、快捷切规范
  • Maven作为构建管理工具,当我们使用IDEAIDEAIDEA进行开发时,构建IDEA替我们做的,脱离IDEA环境执行构建操作,需要专门的工具。

脱离IDEA环境仍需构建

在这里插入图片描述

什么是Maven?

Maven是一款专门JavaJavaJava项目提供构建和依赖管理支持的工具。

构建

构建指的是使用JavaJavaJava源码,图片、配置文件等生产一个可以在服务器上运行项目的过程

  • 构建过程包含以下主要环节:
    • 清理:删除上一次构建的结果,为下一次构建做好准备。
    • 编译:Java源程序编译成 *.class 字节码文件
    • 测试:运行提前准备好的测试程序。
    • 报告:针对刚才测试的结果生成一个全面的信息。
    • 打包
      • Java工程: jar包
      • Web工程:war包
  • 安装:把一个Maven工程经过打包操作生成的jar包或war包存储Maven仓库
  • 部署
    • 部署jar包:把一个 jar 包部署到 Nexus 私服服务器上
    • 部署war包:借助相关的Maven插件,例如:cargo。将 war 包部署到 Tomcat 服务器上

依赖

如果A工程里面用到了B工程的类,接口、配置文件等等这样的资源,那么,我们就可以说AAA依赖于BBB.

  • 总之,都是各种工程进行互相串联。

依赖管理中要解决的具体问题.

  • jar包下载**:使用 Maven 之后,jar 包会从规范的远程仓库下载到本地**
  • jar包之间的依赖:通过依赖传递性自动完成。
  • jar包之间的冲突:通过对依赖的配置进行调整,让某些jar包不会被导入。

Maven工作机制

在这里插入图片描述

Maven解压和配置

Maven核心程序解压和配置

  • 下载地址:https://maven.apache.org/download.cgi
  • 核心程序压缩包:apache-maven-3.8.4-bin.zip,解压到非中文、没有空格的目录
    注重关注Maven的核心配置文件,conf/settings.xml

指定Maven本次仓库

在这里插入图片描述
把localRepository标签从注释中拿出来配置本地地址,放jarjarjar包。

配置阿里云提供的镜像仓库.

  • 将原有例子注释掉。
  • 加入我们的配置。
    在这里插入图片描述

配置Maven工程的基础JDK版本

默认配置使用的JDK版本为1.5.
在这里插入图片描述

配置环境变量

在这里插入图片描述

总结

  • 后续经验
  • 先将后续文章链接,进行全部掌握,后续用到这个大工程时候,在将MavenMavenMaven全部都搞定。

附带链接

Maven的安装与使用



http://www.ppmy.cn/news/18408.html

相关文章

c++ - 第26节 - c++知识梳理

目录 1.STL知识梳理 2.c知识梳理 3.数据结构知识梳理 1.STL知识梳理 STL知识掌握: 底层实现角度:六大组件。 上层用的角度:容器、算法、迭代器。 底层实现角度: 注: 1.可以认为迭代器是容器和算法的粘合剂&#…

如何搭建VGG网络,实现Mnist数据集的图像分类

1 问题如何搭建VGG网络,实现Mnist数据集的图像分类?2 方法步骤:首先导包Import torchfrom torch import nnVGG11由8个卷积,三个全连接组成,注意池化只改变特征图大小,不改变通道数class MyNet(nn.Module): def __in…

QEMU之一调试uboot(vexpress-a9)

u-boot版本:u-boot-2017.05开发板:vexpress-a9(没办法,目前看到的都是这个开发板,想QEMU调试tiny210,一直没看到怎么修改qemu)编译u-boot:make ARCHarm CROSS_COMPILEarm-linux-gnueabi- vexpre…

深度学习入门基础CNN系列——批归一化(Batch Normalization)和丢弃法(dropout)

想要入门深度学习的小伙伴们,可以了解下本博主的其它基础内容: 🏠我的个人主页 🚀深度学习入门基础CNN系列——卷积计算 🌟深度学习入门基础CNN系列——填充(padding)与步幅(stride&…

【NI Multisim 14.0虚拟仪器设计——放置虚拟仪器仪表(频率计数器)】

目录 序言 🏮放置虚拟仪器仪表🏮 🧧频率计数器🧧 🥳🥳(1)“测量”选项组:参数测量区。 🥳🥳(2)“耦合”选项组:用于选择电流耦合方…

十六进制转八进制(蓝桥杯基础练习C/C++)

我首先想到的就是十六进制转十进制&#xff0c;十进制转八进制&#xff0c;毕竟这样的方法是最常见的&#xff0c;但始终出现报错。 我想可能是int能储存的数范围太小了&#xff0c;就尝试用long long存储&#xff0c;结果还是报错。 #include <bits/stdc.h> using nam…

[ESP][驱动]GT911 ESP系列驱动

GT911ForESP GT911在ESP系列上的驱动&#xff0c;基于IDF5.0&#xff0c;ESP32S3编写 本库使用面向对象思想编写&#xff0c;可创建多设备多实例 Github&#xff0c;Gitee同步更新&#xff0c;Gitee仅作为下载仓库&#xff0c;提交Issue和Pull request请到Github Github: h…

Java 对象处理流(ObjectOutputStream\ObjectInputStream)

文章目录前言什么是对象流&#xff1f;基本介绍ObjectOutputStreamObjectInputStream对象处理流的使用细节前言 处理流&#xff1a;是对一个已存在的流进行处理和封装&#xff0c;通过所封装的流的功能调用实现对数据的操作。而处理流中也有不同的分类&#xff0c;此片介绍的是…