【Java架构-包管理工具】-Maven基础(一)

本文摘要

Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven概念、模型、安装配置、基本命令


文章目录

  • 本文摘要
  • 1. 什么是Maven
    • 1.1 项目构建
  • 2. Maven模型
  • 3. Maven安装及配置
    • 3.1 下载
    • 3.2 安装目录
    • 3.3 环境变量配置
  • 4. Maven目录结构
  • 5. Maven命令
  • 6. 本地仓库配置
  • 7. Idea整合Maven


1. 什么是Maven


  Maven是跨平台的项目管理工具,主要服务于Java平台的项目构建和依赖管理

1.1 项目构建

项目构建:编写源代码->编译->测试->运行->打包->部署

  • 传统项目
    a. 编写源码、编译、测试、运行、打包、部署
  • Maven项目
    a. maven将项目构建进行标准化,每个阶段都可以使用命令来完成
    b. maven后一个阶段都包含前一阶段命令
    c. 清理、编译、测试、报告、打包、部署在这里插入图片描述

2. Maven模型

  • pom文件是maven唯一的核心文件,里边包含了依赖管理、插件管理
  • 依赖、插件都是以jar包的形式进行管理
  • 当执行插件命令时,实际会去仓库查找对应的jar包运行,如果本地仓库中没有插件对应的jar包,则会从中央仓库拉取jar包
    在这里插入图片描述

3. Maven安装及配置

3.1 下载

https://archive.apache.org/dist/maven/maven-3/

3.2 安装目录

在这里插入图片描述

  • bin:含有mvn运行的脚本
  • boot:含有plexus-classworlds类加载器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven运行时所需要的java类库
  • LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

3.3 环境变量配置

配置MAVEN_OPTS运行环境变量大小:-Xms128m -Xmx512m
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4. Maven目录结构

  • src/main/java :存放项目的.java文件
  • src/main/resources :存放项目资源文件,如spring, mybatis配置文件
  • src/test/java :存放所有测试.java文件,如JUnit测试类
  • src/test/resources :测试资源文件
  • target :项目打包后jar包输出位置
  • pom.xml :配置文件
    在这里插入图片描述

5. Maven命令

  • clean:清除target中生成的jar包
  • compile:编译
  • test:测试
  • package:打包,会生成target目录
  • install:将当前项目打包成jar包并安装至本地仓库供其它项目使用

6. 本地仓库配置


  标准格式,首先要保证有正规的规定,例如国家标准,国际标准,不同的标准一定要仔细搞明白,然后根据需求整理。
在这里插入图片描述
在这里插入图片描述

7. Idea整合Maven

  • idea整合Maven时,可以直接使用idea自带的maven版本,也可以使用自己下载的maven版本
  • 选择setting.xml文件,用户可以根据项目不同而配置不同的setting.xml
  • 本地仓库地址,默认会读取setting.xml文件中配置的地址,用户也可以自定义地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果创建web项目速度非常慢,并且在Generating project in Batch mode卡住,则进行全局设置如下:-DarchetypeCatalog=local

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/88417.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python数据挖掘与机器学习

近年来,Python编程语言受到越来越多科研人员的喜爱,在多个编程语言排行榜中持续夺冠。同时,伴随着深度学习的快速发展,人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础,因此,掌握常用…

使用Nodejs创建简单的HTTP服务器,借助内网穿透工具实现公网访问的方法分享

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

GWO-LSTM交通流量预测(python代码)

使用 GWO 优化 LSTM 模型的参数,从而实现交通流量的预测方法 代码运行版本要求 1.项目文件夹 data是数据文件夹,data.py是数据归一化等数据预处理脚本 images文件夹装的是不同模型结构打印图 model文件夹 GWO-LSTM测试集效果 效果视频:GWO…

兼具传统和新锐基因的极氪,是怎么做用户运营的?|新能源车专题研究

主笔:浣芳黛 出品:增长黑盒研究组 近几个月来,新能源车势头强劲,众多车企纷纷传出连月增长和再创新高的捷报,在当下整体经济复苏缓慢的映衬下,显得格外耀眼。 于是,增长黑盒近期针对新能源车企展…

RISC-V(1)——RISC-V是什么,有什么用

目录 1. RISC-V是什么 2. RISC-V指令集 3. RISC-V特权架构 4. RiscV的寄存器描述 5. 指令 5.1 算数运算—add/sub/addi/mul/div/rem 5.2 逻辑运算—and/andi/or/ori/xor/xori 5.3 位移运算—sll/slli/srl/srli/sra/srai 5.4 数据传输—lb/lh/lw/lbu/lhu/lwu/sb/sh/sw …

Zebec Protocol:模块化 L3 链 Nautilus Chain,深度拓展流支付体系

过去三十年间,全球金融科技领域已经成熟并迅速增长,主要归功于不同的数字支付媒介的出现。然而,由于交易延迟、高额转账费用等问题愈发突出,更高效、更安全、更易访问的支付系统成为新的刚需。 此前,咨询巨头麦肯锡的一…

iOS 17 及 Xcode 15.0 Beta7 问题记录

1、iOS 17 真机调试问题 iOS 17之后,真机调试Beta版本必须使用Beta版本的Xcode来调试,用以前复制DeviceSupport 方式无法调试,新的Beta版本Xcode中,已经不包含 iOS 17目录。如下图: 解决方案: 1&#x…

机器学习深度学习——NLP实战(自然语言推断——微调BERT实现)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——针对序列级和词元级应用微调BERT 📚订阅专栏:机器学习&&深度学习 希望文…

【SpringSecurity】三、访问授权

文章目录 1、配置用户权限2、针对URL授权3、针对方法的授权 1、配置用户权限 继续上一章,给在内存中创建两个用户配置权限。配置权限有两种方式: 配置roles配置authorities //哪个写在后面哪个起作用 //角色变成权限后会加一个ROLE_前缀,比…

物种气候生态位动态量化与分布特征模拟

在全球气候快速变化的背景下,理解并预测生物种群如何应对气候变化,特别是它们的地理分布如何变化,已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟,不仅可以量化描述物种对环境的需求和适应性,预…

Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案

1. Webstorm uni-app语法插件 : Uniapp Support Uniapp Support - IntelliJ IDEs Plugin | Marketplace 第一个是不收费,第二个收费 我选择了第二个Uniapp Support ,有试用30天,安装重启webstorm之后,可以提高生产率…

6.物联网操作系统信号量,二值信号量,计数信号量

一。信号量的概念与应用 信号量定义 FreeRTOS信号量介绍 FreeRTOS信号量工作原理 1.信号量的定义 多任务环境下使用,用来协调多个任务正确合理使用临界资源。 2.FreeRTOS信号量介绍 Semaphore包括Binary,Count,Mutex; Mutex包…

Python爬虫猿人学逆向系列——第六题

题目:采集全部5页的彩票数据,计算全部中奖的总金额(包含一、二、三等奖) 地址:https://match.yuanrenxue.cn/match/6 本题比较简单,只是容易踩坑。话不多说请看分析。 两个参数,一个m一个f&…

PID直观感受简述

0、仿真控制框图 1、增加p的作用(增加响应)P 2、增加I的作用(消除稳差)PI 3、增加D的作用(抑制波动)PID 加入对噪声很敏 4、综合比对

【Linux】一张图了解系统文件

首先先认识磁盘结构 系统文件分布图 文件查找 文件删除 文件的增删改查都是围绕inode来完成的,所以当我们要进行文件删除的时候,只需要通过inode来获取到它对应的block bitmap和inode bitmap数据块容器和保存文件属性的位置置为 0即可 ,如果想…

Pytorch学习:常见数据集torchvision.datasets及数据集的使用DataLoader

文章目录 1. Datasets常见数据集1.1 CIFAR101.2 Fashion-MNIST1.3 ImageNet 2. DataLoader2.1 shuffle2.2 drop_last 1. Datasets常见数据集 Torchvision在 torchvision.datasets 模块中提供了许多内置的数据集,以及用于构建自己的数据集的实用程序类。 官方文档&a…

前端需要理解的 TypeScript 知识

Typescript是添加了类型系统的JavaScript,属于弱类型(即允许隐式类型转换)、静态类型语言,适应于任何规模的项目,支持 ES6,由微软开发并开源。Typescript增加的功能包括:类型批注和编译时类型检…

JAVA-编程基础-10-集合

Lison <dreamlison163.com>, v1.0.0, 2023.04.23 JAVA-编程基础-10-集合 文章目录 JAVA-编程基础-10-集合List、Set、Map、队列全面解析ListArrayList创建ArrayList 向ArrayList中添加元素 List、Set、Map、队列全面解析 Java 集合框架可以分为两条大的支线&#xff1a;…

一种IDEA疑难杂症的解决办法

解决办法 重启IDEA 针对于IDEA各种羡慕解析&#xff0c;运行时问题&#xff0c;但是无法通过搜索引擎得到答案的问题请试试此方法。 删除根目录下[.idea]文件夹后重启 此文件夹为idea首次导入项目时根据项目情况自动生成的配置文件。方便idea下次更快的解析项目。但是某些情…

Flask 单元测试

如果一个软件项目没有经过测试&#xff0c;就像做的菜里没加盐一样。Flask 作为一个 Web 软件项目&#xff0c;如何做单元测试呢&#xff0c;今天我们来了解下&#xff0c;基于 unittest 的 Flask 项目的单元测试。 什么是单元测试 单元测试是软件测试的一种类型。顾名思义&a…