【IDEA】maven如何进行文件导入,配置并打包

一,介绍、安装

1、maven介绍

maven是一个Java世界中,构建工具。

核心功能:

(1) 管理依赖
管理文件运行的顺序逻辑依赖关系。对配置文件,进行构建和编译。其也是在调用jdk,来进行编译打包工作。

(2) 打包
通过使用maven,把java代码构造成war包或者jar包
jar包是一种特殊的压缩包,它是把各种.class文件放到了一起。

2、安装Maven

直接使用IDEA软件内置的 maven
在这里插入图片描述

3、如何使用搭建idea

  • 创建项目的时候,不选择java,而是选择Maven的方式来创建项目
  • groupId:表示你所在的公司/组织
  • Aetifactid:表示当前项目的名字
  • Version:表示当前版本号
  • 以上配置用途:当一个程序,要发布到maven的中央仓库上,这三个参数就是这个程序在中央仓库的重要标识
    在这里插入图片描述

4、目录结构

/src/main/java 这个目录用于放java代码
/src/main/resources这个目录用于放一些依赖的资源
/src/test/java 这个目录用来放单元测试代码
/pom.xml 这个是maven项目的核心配置文件,Maven依赖什么,需要什么配置,都放在这个文件里
在这里插入图片描述

5、如何使用maven

右侧有一个 maven 的控制面板,点开Lifecycle:maven是生命周期。
这些罗列的内容,其实都是可以通过 maven来操作的。
最常用的就是 package,他的功能就是打包,也不仅仅是打包,会执行上面的所有操作。
最终的打包结果,一般是一个 jar 或者 war。
在这里插入图片描述

6、maven管理依赖

下面以mysql(5.1.47版本)为例,下载并安装第三方库
第一步,去中央仓库找到mysql的驱动包
https://mvnrepository.com/search?q=mysql 进行查找对应版本的mysql的xml配置代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:直接复制maven标签下的xml配置,粘贴到根目录的pom.xml里面新建的<dependencies></dependencies>标签中。
在这里插入图片描述
注意:
1、<dependencies>这个标签中,可以放多个<dependency>标签,一个项目可以引入多个依赖。在初始创建下,没有这个依赖标签,需要手动创建一个引入后,就会自己去下载依赖了。
2、无论是 maven 还是其他的库,都是通过同样的操作,来引入的,只要把对应的 xml 片段(坐标)拷贝到pom.xml 文件中即可,就可以自动引入。

二、setting.xml 和pom.xml 配置

1、setting.xml

在这里插入图片描述
setting.xml中,配置资源拉取远程仓库,提高下载速度。依次为:阿里云,华为云,官方云(2个)

<mirror><id>nexus-aliyun</id)<name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>>	<mirrorOf>central</mirrOf>
</mirror><mirror><id>huaweicloud</id><mirrorOf>*</mirrorOf><url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror><mirror><id>central</id><name>Maven Repository Switchboard</name><url>http://repo.maven.org/maven2/</url><mirrorOf>central</mirrorOf>
</mirror><mirror><id>central</id><name>Maven Repository Switchboard</name><url>http://repo2.maven.org/maven2/</url><mirrorOf>central</mirrorOf>
</mirror>

2、pom.xml

相关标签及说明:
modelVersion: 指定了 POM 模型版本,默认是 “4.0.0”。

groupId: 项目的组织或团队标识。

artifactId: 项目的唯一标识符,一个组织或团队内是唯一的。

version: 项目的版本号。

packaging: 打包方式,通常是 "jar",部署tomcat,部署改为"war"

name: 项目的展示名。

description: 项目的描述。

properties: 自定义属性。

dependencies: 项目依赖列表,

dependency:每个依赖可以包括 groupId, artifactId, version 等。

dependencyManagement: 用于管理项目依赖的版本,确保子项目之间的依赖版本一致。

build: 构建配置,包括插件配置、资源配置等。

reporting: 报告配置,用于配置如何生成项目报告。

repositories: 仓库配置,用于指定项目构建时使用的远程仓库。

pluginRepositories: 插件仓库配置,用于指定构建插件时使用的远程仓库。

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>My Project</name><description>A simple example project</description><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

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

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

相关文章

JavaScript中的原型和原型链

一、原型&#xff1a;每个函数都有prototype属性&#xff0c;称之为原型&#xff0c;这个属性也是个对象所以也称之为原型对象。 1.原型可以放一些属性和方法&#xff0c;供实例对象使用。 <body><script>const arr new Array(1,3,5,7,6)document.getElementByI…

Go语言--延迟调用defer、获取命令行参数、局部变量以及全局变量

延迟调用defer 关键字 defer 用于延迟一个函数或者方法(或者当前所创建的匿名函数)的执行。注意&#xff0c;defer语句只能出现在函数或方法的内部。 defer 语句经常被用于处理成对的操作&#xff0c;如打开、关闭、连接、断开连接、加锁、释放锁。通过defer 机制&#xff0…

NASA——quarius(水瓶座) L3 网格化 1 度年土壤湿度,第 5 版

Aquarius L3 Gridded 1-Degree Annual Soil Moisture V005 水瓶座 L3 网格化 1 度年土壤湿度&#xff0c;第 5 版 简介 该数据集包含美国国家航空航天局&#xff08;NASA&#xff09;科学应用卫星&#xff08;SAC-D&#xff09;上的宝瓶座被动微波辐射计得出的第 3 级网格化…

SLAM 精度评估

SLAM 精度的评估有两个最重要的指标&#xff0c;即绝对轨迹误差&#xff08;ATE&#xff09;和相对位姿误差&#xff08;RPE&#xff09;的 均方根误差&#xff08;RMSE&#xff09;: 绝对轨迹误差:直接计算相机位姿的真实值与 SLAM 系统的估计值之间的差值&#xff0c;首先将…

交换机基本原理

文章目录 前言一、交换机的转发行为二、交换机的转发原理1.MAC地址表2.交换机初始状态3.学习MAC地址4.ARP协议5.交换机转发数据帧6.目标主机回复 三、华为交换机基本命令1.VRP视图分层2.命令行补全3.命令行帮助4.配置设备名称5.命令等级6.用户界面7.配置console认证8.配置用户界…

python-Django项目:图书后台管理系统

具体操作&#xff1a;请参考 Django项目&#xff1a;图书后台管理系统

运维锅总详解计算机缓存

本文从OSI模型中的每一层缓存介绍、常见开源中间件缓存举例、TCP/IP协议栈中的缓存机制、操作系统中的缓存、访问缓存数据的时间范围统计等方面对计算机中的缓存进行详细介绍。希望对您有所帮助&#xff01; 一、OSI模型中的每一层缓存 1. 物理层&#xff08;Physical Layer&…

自动化立体仓库出入库能力及堆垛机节拍

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载 自动化立体仓库的出入库能力、堆垛机节拍以…

掌握电路交换与分组交换:计算机网络的核心技术

计算机网络是现代信息社会的基石&#xff0c;而交换技术是实现网络通信的核心。本文将详细介绍两种典型的交换方式&#xff1a;电路交换和分组交换&#xff0c;帮助基础小白快速掌握这两种技术的基本概念和区别。 什么是电路交换&#xff1f; 电路交换&#xff08;Circuit Swi…

Centos系统迁移

目前&#xff0c;CentOS 全系列版本已经于l六月底正式停止维护&#xff0c;这意味着 CentOS 时代彻底终结&#xff0c;也意味着部署在 CentOS 7 上的业务系统将面临前所未有的安全挑战。 本文推荐由红帽衍生出来的且可以做到真正无缝替代的linux版本Open Euler 注&#xff1a…

科普文:Linux服务器性能调优概叙

概叙 Java web应用性能分析之服务端慢和优化概叙_cpu飙高java-CSDN博客 Java web应用性能分析之【CPU飙升分析概述】_web页面性能分析cpu占满是因为死循环,还是循环过多-CSDN博客 在我们的软件服务中&#xff0c;软件部署的服务器&#xff0c;一般都是linux服务器&#xff0c…

rtsp地址 + 测试网站 + java(免环境、免插件、零编码转换http播放)

目录 1、创建rtsp网站 2、测试rtsp网站 3、Java实现rtsp播放 ①maven添加依赖 ②访问http地址即可展示视频内容 1、创建rtsp网站 填写邮箱即可获得两个可用的rtsp网站&#xff08;每月可免费用2G&#xff09;&#xff1a; https://rtsp.stream/ 2、测试rtsp网站 测试网络…

基于SpringBoot的地方废物回收机构管理系统

本系统主要包括管理员和员工两个角色组成&#xff1b;主要包括&#xff1a;首页、个人中心、员工管理、员工请假管理、销假申请管理、工作日志管理、员工工资管理、员工任务管理、任务汇报管理、设备信息管理、设备借用管理、设备归还管理、设备保修管理、维修入库管理、员工打…

Python酷库之旅-第三方库Pandas(002)

目录 一、用法精讲 1、pandas.read_pickle函数 1-1、语法 1-2、参数 1-3、功能 1-4、返回值 1-5、说明 1-6、用法 1-6-1、代码示例 1-6-2、结果输出 2、pandas.DataFrame.to_pickle方法 2-1、语法 2-2、参数 2-3、功能 2-4、返回值 2-5、说明 2-5-1、文件路径…

数据结构(3.8)——栈的应用

栈在括号匹配中的应用 流程图 代码 #include <stdio.h> #include <stdlib.h> #define MaxSize 10typedef struct {char data[MaxSize];int top; } SqStack;// 初始化栈 void InitStack(SqStack* S) {S->top -1; // 初始化栈顶指针 }// 判空 bool StackEmpty(…

《米小圈日记魔法》边看边学,轻松掌握写日记的魔法!

在当今充满数字化娱乐和信息快速变迁的时代&#xff0c;如何创新引导孩子们学习&#xff0c;特别是如何培养他们的写作能力&#xff0c;一直是家长和教育者们关注的焦点。今天就向大家推荐一部寓教于乐的动画片《米小圈日记魔法》&#xff0c;该系列动画通过其独特的故事情节和…

vue通过后台返回的数字显示不同的文字内容,多个内容用、隔开

后台返回的数据 显示效果&#xff1a; html&#xff1a; <el-table-columnalign"center"label"使用过的小程序"width"124"v-if"activeTab 0"><template #default"scope"><divv-for"(item, index) in s…

数据结构(3.5)——队列的顺序实现

队列的顺序实现 #define MaxSize 10//定义队列中元素的最大个数 typedef struct {int data[MaxSize];//用静态数组存放队列元素int front, rear;//队头指针和队尾指针 } SqQueue;void testQueue() {SqQueue Q;//声明一个队列(顺序存储) } 队列的初始化操作和判空 //初始化队…

大模型面试题目

1.为什么需要做位置编码 位置编码&#xff08;Positional Encoding&#xff09;在变换器&#xff08;Transformer&#xff09;模型中非常重要&#xff0c;因为变换器架构本身没有内置的顺序信息。变换器使用的是自注意力机制&#xff0c;它能够捕捉输入序列中所有词之间的相关性…