Maven在项目里的具体使用方式,很简单

news2024/11/18 12:18:52

大家好,今天给大家分享一下Maven在项目里的*具体使用方式*

有关于maven这个东西,要知道,它的作用是帮助开发人员(也就是我们)批量的管理jar包

所谓对jar包批量管理,有一个很重要的点, 就是对于jar的下载或者说导入jar包

如果你是基于maven的项目环境,那么你对于jar包的导入需要使用Maven 镜像站这个东西

常见的几个Maven镜像站:

  1. 我最常用的镜像站
    在这里插入图片描述

点一下上面的这个链接, 就可以进入这个Maven仓库了

在上面我标红的搜索栏就可以找你当前需要使用的jar包

比如说我们搜索mybatis 相关的jar包

在这里插入图片描述

这里可以看见一些介绍:

在这里插入图片描述

向下翻,随便点一个
在这里插入图片描述

注意看, 这就是对应的maven坐标(或者可以说依赖)
在这里插入图片描述

这就是一个一个项目依赖

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<!-- 上面的网址可以不看,因为就算没有它,也不影响使用 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.2</version>
</dependency>

然后, 跟着我的上一篇博客使用idea创建一个新的 web Maven项目

[
创建一个新的web 的Maven项目

就是这样的:
在这里插入图片描述

这里注意看这个文件

在这里插入图片描述

在右边的文件是它本身就有的文件pom.xml

在这里插入图片描述
在pom.xml 文件里, 放入Maven的依赖( 这一步是固定死的)

这也体现了Maven 约定大于配置(它就是这样规定的,必须这样写

我们可以看见他就说一层套一层

在一个Maven项目当中,所有的依赖,都要放到 <dependencies></dependencies>双闭合标签里边
在这里插入图片描述

这样:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>MaDemo01</artifactId>
    <version>1.0-SNAPSHOT</version>
                 <dependencies>
                     <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
                     <dependency>
                         <groupId>org.mybatis</groupId>
                            <!--  -->
                         <artifactId>mybatis</artifactId>
                         <version>3.5.2</version>
                     </dependency>

                 </dependencies>

</project>

我们在这里,这个时候可以看见Maven的小东西
(因为在默认的情况下,pom.xml里面没有没有外部依赖,导入了以后idea就会自动实现只要我们的maven项目当中导入maven的外部依赖,idea就会帮助我们的自动下载)

在这里插入图片描述
当然,因为的idea的 版本可能都不一样,所以你的可能不是这样的小图标,可能在idea的右下角会有maven导入的提示信息

pom.xml 当中有 3个东西

groupId 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。(他就是用来表示当前的这个项目是谁发布的)

artifactId : 定义实际项目的名称 , 因为jar包的本质上就是一个项目

version : 定义了版本

这三个加起来就是它的坐标信息

<packaging></packaging> : 表示项目的打包方式

一个Maven项目当中可以有多个外部依赖的导入

在初始状态之下它会报红

在这里插入图片描述

点一下这个小坐标,让idea自己去下载

在这里插入图片描述

我们可以看见这个时候就不报红了

在这里插入图片描述

这是它相关的插件

 <build>
        <plugins>
<!--            插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <release>
<!--                        这是我们的jdk版本-->
                        <versin>8</versin>
                    </release>
                </configuration>
            </plugin>
`



        </plugins>
    </build>

这是刚才在xml文件当中配置的东西

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>MaDemo01</artifactId>
    <version>1.0-SNAPSHOT</version>
<!--    定义项目的打包方式-->
  <packaging>jar</packaging>
    <properties>
<!--        这是设置jdk的编译版本-->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        <file.encoding>UTF-8</file.encoding>
        <!--        设置它支持中文-->
    </properties>



    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <!--  -->
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>

            <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.18</version>
            </dependency>



    </dependencies>
    <build>
        <plugins>
<!--            插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <release>
<!--                        这是我们的jdk版本-->
                        <versin>8</versin>
                    </release>
                </configuration>
            </plugin>




        </plugins>
    </build>

</project>

maven的常见命令

首先我们来了解一下maven的生命周期(就是一个程序由生到死的过程)

它一共是经历了:

在这里插入图片描述

mvn clean 对项目进行清理,删除target目录下编译的内容
mvn compile 编译项目源代码
mvn test 对项目进行运行测试
mvn package 打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件
mvn install 在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下

但是这样配置有很麻烦

所以idea提供了相关的可视化操作平台

在这里插入图片描述

展开
在这里插入图片描述

这些本质上就是Maven的生命周期

在这里插入图片描述

点击clean 可以看见删除了target

在这里插入图片描述

对当前的项目进行编译
在这里插入图片描述

这是它的插件部分

在这里插入图片描述

这表示它的依赖

在这里插入图片描述

就是说,在项目当中我们实际导入了那些jar包

这是idea关于maven的工具栏

在这里插入图片描述

这个圈代表了更新Maven环境,(在有变化的前提之下)
在这里插入图片描述

这个的意思是创建源码并更新

在这里插入图片描述

这个意思是下载当前maven项目的源码和文档

在这里插入图片描述

它的意思是启动或暂停

在这里插入图片描述

它的意思是,运行生命周期或者插件

在这里插入图片描述

这个意思是断开与远程仓库的链接,就是说暂时处于离网状态,这个时候司无法从远程仓库里下载jar包的

在这里插入图片描述

它表示是否跳过测试

在这里插入图片描述

以图形化的方式展示项目当中jar包的依赖

在这里插入图片描述

这个时候,我们就可以看见当前项目依赖了那些jar包

在这里插入图片描述

它的意思是影藏视图

在这里插入图片描述

在这里插入图片描述

这是maven的设置

在这里插入图片描述

这是它的一些配置

在这里插入图片描述

好了,有关于Maven在项目里的具体使用方式就到这里了,谢谢大家

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

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

相关文章

2022年CSDN年终总结:一个新晋研究生的遗憾与成长

目录0 遗憾1 顺利完成毕业设计2 转向垂类写作3 C站成长4 组织社区活动5 新年新flag0 遗憾 2022年有很多遗憾 其一&#xff0c;毕业的遗憾。3月疫情席卷上海&#xff0c;封校封寝、静态网格&#xff0c;每天从上床到下桌两点一线&#xff0c;5月窗口期身着防护服撤离上海&…

云原生|kubernetes|pod或容器的安全上下文配置解析

前言&#xff1a; 安全上下文&#xff08;Security Context&#xff09;定义 Pod 或 Container 的特权与访问控制设置。 安全上下文包括但不限于&#xff1a; 自主访问控制&#xff08;Discretionary Access Control&#xff09;&#xff1a; 基于用户 ID&#xff08;UID&…

【PAT甲级 - C++题解】1091 Acute Stroke

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;PAT题解集合 &#x1f4dd;原题地址&#xff1a;题目详情 - 1091 Acute Stroke (pintia.cn) &#x1f511;中文翻译&#xff1a;急性中风 &#x1f4e3;专栏…

SAP灵活工作流Inbox收件箱数据展示

目录 任务说明展示流程内容 使用增强添加文本展示流程内容 自定义页面展示 任务说明展示流程内容 维护审批任务说明页签下的任务说明&#xff0c;支持多语种&#xff0c;支持使用变量&#xff1b; 变量只能使用容器中定义的变量&#xff0c;因此需要将要展示的数据绑定传输到…

【包装机】(队列+栈)

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道&#xff0c;放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时&#xff0c;活塞向左推动&#xff0c;将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时&#xff0c;机械手将抓取筐顶部的一件物品&#x…

C++动态链接库的使用

目录一 创建Windows动态链接库二 导出和查看DLL中的函数三 隐式链接方式加载DLL四 动态库和测试程序共用一份头文件五 从DLL中导出C类六 解决名称改编七 显式加载方式加载DLL一 创建Windows动态链接库 新建项目&#xff0c;选择Windows桌面向导&#xff0c;命名项目名称为Dll1…

GPDB中gp_vmem_protect_limit参数的意义

gp_vmem_protect_limit参数的意义1、gp_vmem_protect_limit参数说明1)在启用了基于资源队列的资源管理系统时&#xff0c;gp_vmem_protect_limit参数表示每个segment分配到的内存大小。预估值计算方式&#xff1a;所有GP数据库进程可用内存大小/发生故障时最大的primary segmen…

最优控制学习笔记2----泛函

文章目录泛函泛函定义泛函的变分自变量的变分泛函相近泛函距离泛函的连续性线性泛函泛函的变分泛函的极值泛函极值的定义泛函的极值泛函极值条件泛函 泛函定义 对于某一类函数集合{x(t)}\{x(t)\}{x(t)} 中的每一个函数 x(t)x(t)x(t), 在映射关系 JJJ 下均有一个确定的数与之对…

100天精通Python(数据分析篇)——第71天:Pandas文本数据处理方法之str/object类型转换、大小写转换、文本对齐、获取长度、出现次数、编码

文章目录每篇前言1. 文本数据类型介绍1&#xff09;类型介绍2&#xff09;类型转换3&#xff09;类型区别区别1&#xff1a;统计字符串时区别2&#xff1a;检查字符串时2. Python字符串内置方法1) 大小写转换2) 文本对齐3&#xff09;获取长度4&#xff09;获取出现次数5&#…

js 右键弹出自定义菜单

演示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>*{margin…

Node.JS(2)--使用node执行js文件

目录 知识回顾 CommentJS规范 ECMAScript标准规范 模块化 CommonJS规范 模块化 知识回顾 I/O (Input/output) I/O操作指的是对磁盘的读写操作 Node Node是对ES标准一个实现&#xff0c;Node也是一个JS引擎通过Node可以使js代码在服务器端执行Node仅仅对ES标准进行了实…

“程序的编译+链接”,深入认识代码生成可执行程序的过程

目录 引入 编译 预编译 编译 汇编 链接 选项总结 记忆方法 运行环境 引入 博主认为学习本章内容&#xff0c;能够认识在代码跑的时候的过程。 首先&#xff0c;粗略笼统的认识程序运行过程的框架图。 编译 其次&#xff0c;再进行细化&#xff0c;细化编译的过程&…

人工智能轨道交通行业周刊-第29期(2023.1.2-1.8)

本期关键词&#xff1a;站台限界测量机器人、智慧云巴、钢轨伸缩调节器、国铁集团会议、4D毫米波雷达、车道线检测1 整理涉及公众号名单1.1 行业类RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道…

node.js+mysql博客全栈系统源码+数据库,含后台完整基础功能,小程序,web前台站点一键置灰,支持移动端适

一个 "开箱即用" 个人博客全栈系统项目&#xff01;下载地址&#xff1a;node.jsmysql博客全栈系统源码数据库 &#x1f96f; 预览 &#x1f440; 前台预览 &#x1f440; 管理端预览 &#x1f96f; v1.0.2 介绍 芒果’个人博客系统&#xff0c;包括前后台完整基…

Linux下buff/cache占用过大问题

当我们在命令行中执行free -h 查看内存时&#xff0c;发现buff/cache占用过大&#xff0c;导致其他软件没有内存可使用 从图上可以看出&#xff0c;buff/cache占用了1G多。 buff/cache是由于系统读写导致的文件缓存&#xff0c;没有及时释放。 解决方案&#xff1a;清理缓存 …

JWT JWT

JWT&#xff08;JSON WEB TOKEN&#xff09; JWT的组成 header&#xff08;头部&#xff09;&#xff1a;中主要存储了两个字段 alg&#xff0c;typ。 alg表示加密的算法默认&#xff08;HMAC SHA256&#xff09;&#xff0c;typ表示这个令牌的类型默认为JWT。 payload&#…

68、Learning Object-Compositional Neural Radi

简介 设计了一种新的双通路架构&#xff0c;其中场景分支编码场景几何和外观&#xff0c;而对象分支编码以可学习的对象激活码为条件的每个独立对象。为在严重杂乱的场景中生存训练&#xff0c;提出一种场景引导的训练策略&#xff0c;以解决遮挡区域的3D空间模糊性&#xff0c…

【ElasticSearch7.X】学习笔记(四)

【ElasticSearch7.X】学习笔记八、SpringData集成ElasticSearch8.1、框架8.1.1、SpringData8.1.2、Spring Data Elasticsearch8.2、搭建8.2.1、maven引入8.2.2、编写配置8.2.3、编写config8.2.4、Product类8.2.5、dao8.2.6、索引操作8.2.7、文档操作8.2.8、文档搜索八、SpringD…

基于 Tensorflow 2.x 从零训练 15 点人脸关键点检测模型

一、人脸关键点检测数据集 在计算机视觉人脸计算领域&#xff0c;人脸关键点检测是一个十分重要的区域&#xff0c;可以实现例如一些人脸矫正、表情分析、姿态分析、人脸识别、人脸美颜等方向。 人脸关键点数据集通常有 5点、15点、68点、96点、98点、106点、186点 等&#x…

ccc-sklearn-14-朴素贝叶斯(2)

文章目录sklearn中的其他贝叶斯算法一、MultinomialNB多项式贝叶斯sklearn中的MultinomialNB二、BernoulliNB伯努利朴素贝叶斯三、ComplementNB补集朴素贝叶斯案例&#xff1a;贝叶斯做文本分类sklearn中的其他贝叶斯算法 一、MultinomialNB多项式贝叶斯 基于原始的贝叶斯理论…