Maven(通用结构,集合了测试、打包、发布功能为一体)

news2024/11/15 0:08:43

Maven基础:

作用:

1.提供一套标准化的项目结构(用于例如idea导入到eclipse或其他软件中,项目结构不会紊乱)

2.提供一套标准化构建流程(编译、测试、打包、发布...)(右键Maven-run-自行选择)

3.提供一套依赖管理机制(直接可以下载jar包)

jar包仓库:本地仓库、私服仓库(公司自己搭建的仓库)、中央仓库(在国外)

部分公司会搭建私服仓库,先把中央仓库下载下来,有利于本地仓库快速访问
中央仓库地址icon-default.png?t=MBR7https://repo1.maven.org/maven2/

Maven安装配置:

1.下载

apache-maven-3.6.1-bin.zip 下载icon-default.png?t=MBR7https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/2.配置path环境变量

cmd命令符 mvn -version  检查是否配置成功

3.配置本地仓库:修改conf/settings.xml中的<localRepository>为指定一个目录(一般在Maven的安装路径下新建一个mvn_rep文件夹作为本地仓库)

 xml中的<localRepository>/path/to/local/repo</localRepository>复制出来(localRepository是被注释掉的)

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>D:\apache-maven-3.6.1\mvn_rep</localRepository>

4.配置阿里云私服

修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:

<mirror

<id>alimaven</id

<name>aliyun maven</name

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>         

</mirror>

Maven常用命令:  

在maven项目下的图形文件夹中,按住Shift点右键空白处,选择打开Powershell窗口

mvn compile:编译

mvn clean:清理

mvn test:测试

mvn package:打包

mvn install:安装

Maven生命周期:

clean:清理工作

default:核心工作,例如编译、测试、打包、安装等为一个周期(在同一周期内,例如执行了其中的打包,那么会自动执行编译、测试,然后再打包)

在idea中使用Maven:

配置Maven环境:

 

File→搜索Maven→点击目录Maven→Maven home path选择...你的安装路径→User settings file勾选Override→选择你的配置文件conf/settings。xml(因为里面配置了阿里云私服)

Maven坐标详解:(在maven的pom.xml也有显示)

groupId:组织名称,一般为公司域名反着写

artifactId:模块名,具有功能的模块,例如:order-service订单管理、goods-service商品管理

version:版本号

创建Maven项目:

File→Project Structure→点击Modules→点击+号→点击new modules→点击Maven→点击下一步→参考下图,修改名称,修改组织名称,最下面的两个Maven坐标看情况修改→完成

 创建完之后,test中可能没有resource文件夹,可以创建一个Direactory。webapp也没有显示,现在暂时用不到,后面会讲。

idea导入Maven项目:

右侧工具栏,有个Maven,点击打开,点击上面的+号,选择Maven文件打开,然后双击pom.xml文件即可打开

若没有显示Maven,可以点击  最上面一排目录:View→Appearance→Tool Window Bars

若右键没有显示这些,需要到File→settings→plugins→搜索Maven helper→点击安装→重启idea 

依赖管理:

在pom.xml中

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.34</version>
        <scope>test<scope>
    </dependency>

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.2</version>
    </dependency>
</dependencies>

上面的代码也可以用idea自带的模板,右键General...点击Dependency,例如搜索mysql,可能需要多搜索几遍,加载需要时间(搜的是本地仓库的)

当依赖删除时,依赖包也会自动删除

如何设置,每次添加依赖时,不需要手动刷新,是自动刷新:

File→settings→点击Build→点击Build Tools→点击Any changes

依赖范围:

编译环境:main包下的

测试环境:test包下的

运行环境:右键整个Maven项目,点击run Maven 选择package打包生成一个压缩包war包,然后解压出来后在Web-INF下有个lib,lib会显示所依赖的jar包,这整个过程为运行环境

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS中的cmake

新建cmake项目要保证VS安装了SDK&#xff0c;这里是VS2019版本打开创建新项目——查找cmake——设置路径和项目名称新建项目下有三个文件&#xff1a;&#xff08;1&#xff09;与项目同名的cpp文件&#xff08;2&#xff09;与项目同名的h文件&#xff08;3&#xff09;cmake的…

Linux文件/文件夹权限详解

在Linux中&#xff0c;一个文件/文件夹的权限&#xff0c; 从文件/文件夹的归属来看&#xff0c;可以分为三类&#xff0c;一是文件/文件夹所有者权限、二是所有者所在的用户组权限、三是公共&#xff08;不限&#xff09;权限。 从文件本身的操作来看&#xff0c;也可以分为…

SpringBoot+VUE前后端分离项目学习笔记 - 【15 SpringBoot和Vue实现注册和异常处理】

前端代码 Header.vue 获取登录用户的昵称在Header进行显示&#xff0c;加入个人信息的路由 <template><div style"line-height: 60px; display: flex"><div style"flex: 1;"><span :class"collapseBtnClass" style"…

vue 父子组件通讯时执行的生命周期的顺序

Vue的生命周期 Vue的生命周期分为三个阶段&#xff1a;初始化阶段&#xff0c;更新数据阶段&#xff0c;销毁实例阶段 1&#xff0c;初始化阶段&#xff1a; beforeCreate()实例创建前&#xff1a;数据和模板均未获取到created()实例创建后&#xff1a;最早可以访问到data数…

sqlmap之绕过安全狗

sql注入不会绕过WAF&#xff1f;关注我&#xff0c;让我带你由简入难实战各个WAF&#xff0c;今天先来看看web安全渗透必会的安全狗WAF&#xff0c;你会绕吗&#xff1f;看我带你将它拿下 目录 一&#xff1a;环境配置 1.sqli-labs的sql注入靶场环境 2.安全狗waf软件 3.检测…

nrm使用详解

目录1. 什么是 nrm2. 安装 nrm3. 使用 nrm3.1 查看所有源列表3.2 切换源3.3 添加源3.4 删除源3.5 查看所有源的响应速率1. 什么是 nrm npm 的源管理器&#xff0c;切换下载安装 项目依赖 时的源地址。默认包含 npm yarn tencent cnpm taobao npmMirror&#xff0c;支持添加、删…

docker安装kafka

1.下载镜像 docker pull wurstmeister/kafka docker pull zookeeper:latest 2.启动镜像 1&#xff09;启动zookeeper docker run -d -p2181:2181 -v /etc/localtime:/etc/localtime --name zookeeper zookeeper:latest2)启动kafka docker run -d -p9092:9092 \-e KAFKA_ZO…

Twitter开发者账号申请

Twitter开发者账号申请 前期准备 Twitter绑定手机号 申请开发者账号要求绑定手机号&#xff0c;建议境外手机号&#xff0c;国内手机号容易出现收不到验证码的问题。一个可以正常使用的Twitter账号 被封的不可以。 开始注册 注册开发者管理平台账号 登录Twitter开发者管理…

STM32——ADC模数转换器

文章目录一、ADC模数转化器ADC简介逐次逼近型ADCADC框图二、ADC基本结构三、触发转换控制四、输入通道五、规则组的四种转换模式单次转换&#xff0c;非扫描模式连续转换&#xff0c;非扫描模式单次转换&#xff0c;扫描模式连续转换&#xff0c;扫描模式六、数据对齐七、转换时…

Linux系统下的rpm管理

文章目录Linux系统下的rpm管理1.介绍2.rpm包的简单查询指令3.rpm包的其它查询指今4.卸载rpm包5.安装rpm包Linux系统下的rpm管理 1.介绍 rpm用于互联网下载包的打包及安装工具&#xff0c;它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manage…

【设计篇】35 # 如何让可视化设计更加清晰?

说明 【跟月影学可视化】学习笔记。 分清信息主次&#xff0c;建立视觉层次 用醒目的颜色突出显示数据&#xff0c;把被淡化的其他视觉元素当作背景。 比如&#xff1a;平均温度与露点的散点例子 <!DOCTYPE html> <html lang"en"><head><m…

linux上安装python3.7.4

1.wget下载python3安装包 wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz2.wget下载的压缩包默认在~目录下 3.进入~目录&#xff0c;直接解压压缩包 tar -xzvf Python-3.7.2.tgz4.进入python解压后的目录&#xff0c;为python配置环境&#xff0c;指定pytho…

CMMI-培训管理

培训管理&#xff08;Training Management, TM&#xff09;是指根据机构&#xff08;或项目&#xff09;的需求来制定培训计划&#xff0c;并监督该计划的实施&#xff0c;确保培训取得预期效果。培训管理过程域是SPP模型的重要组成部分。本规范阐述了培训管理过程域的两个主要…

头歌:UDP Ping程序实现 接收并转发消息

头歌平台&#xff1a;头歌实践教学平台 (educoder.net)任务描述本关任务&#xff1a;在 Ping 服务端程序框架中&#xff0c;完成接收数据&#xff0c;并回传给相应客户端。如何接收数据包套接字数据在 UDP 通信中使用sendto()函数发送 UDP 数据。将数据发送到套接字&#xff0c…

Parallel Processing in Python - Python 中的并行处理

并行处理可以增加程序完成的任务数量&#xff0c;从而减少整体处理时间。这些有助于处理大规模问题。 参考链接&#xff1a;Parallel Processing in Python - GeeksforGeeks 1 并行处理介绍 对于并行性&#xff0c;重要的是将问题划分为不依赖于其他子单元 (或较少依赖) 的子…

【Vue中使用Echarts】大屏可视化项目整体布局(pink老师vue 版)

文章目录一、效果展示二、基本的布局三、背景四、代码布局中遇到的一些问题一、效果展示 先看一下展示的效果&#xff0c;无论是尺寸多宽的屏幕&#xff0c;都会将内容显示完整&#xff0c;做到了正正的响应式。唯一不足的是图表中的样例&#xff0c;会随着图表的缩放而变换位…

35-剑指 Offer 37. 序列化二叉树

题目 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑&#xff0c;你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 …

第02讲:HTTP操作之ElasticSearch索引操作

3.1.1、索引操作 实验1&#xff1a;创建索引 对比关系型数据库&#xff0c;创建索引就等同于创建数据库 在 Postman 中&#xff0c;向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/shopping { "acknowledged"【响应结果】: true, # true操作成功 "shards…

npm与包

1、包 1.1、什么是包 Node.js 中的第三方模块又叫做包。就像电脑和计算机指的是相同的东西&#xff0c;第三方模块和包指的是同一个概念&#xff0c;只不过叫法不同。 1.2、包的来源 不同于 Node.js 中的内置模块与自定义模块&#xff0c;包是由第三方个人或团队开发出来的&a…

跟踪数据集汇总

文章目录DanceTrack 运动跟踪数据集简介转为Labelme标注的物体检测数据集格式WiderPerson行人检测数据集简介转为Labelme标注的物体检测数据集格式DanceTrack 运动跟踪数据集 简介 DanceTrack 是一个大规模的多对象跟踪数据集。用于在遮挡、频繁交叉、同样服装和多样化身体姿…