当前位置: 首页 > article >正文

Maven的介绍以及安装,仓库的使用和在idea使用maven

目录

一、Maven的介绍

二、Maven的安装

三、关于Maven的仓库

四、idea如何和本地的maven进行关联呢?

五、使用idea如何新建Maven项目


一、Maven的介绍

在目前的公司中,java项目几乎所有项目都是使用Maven

跟这个软件非常相似的有:gradle [即将流行]、ant [已经过时]

Maven--内行,专家的意思,Maven的两大作用:依赖管理项目构建

大白话讲:

依赖管理--管理Jar包。

项目构建--帮我们创建项目,运行项目,测试项目,编译项目,打包项目。一个项目一般都经历从出生到上线这样一个过程,我们的Maven帮助我们简化步骤。

mavan是学命令的。

负责上线的同事:编写了一个脚本文件,可以自动的识别本次大家更改的代码,并且自动抽取出来,创建对应的文件夹,并且可以自动上传至服务器,重启服务。使用Ant工具编写的脚本。

Ant能够完成的事情,其实就是项目构建。已经属于一个老的技术了。目前比较流行的是Maven

二、Maven的安装

https://maven.apache.org/

第一步:解压到一个没有中文和空格的一个目录下

第二步:检查你的Java环境是否可以使用

因为Maven的运行需要依赖java环境。

第三步:配置Maven路径

修改path路径:

最后一步:验证配置是否生效 ,新打开一个黑窗口,输入 mvn -v 看到有版本号信息,就说明正常。

三、关于Maven的仓库

maven作为一个管理jar包的工具,jar包需要下载并存放到某个地方,这里面有由三个仓库。

本地仓库是可以拷贝的。

我们目前作为一个新入门的人,本地仓库一个jar包都没有,所以我们需要去互联网上下载,但是互联网上的地址是一个国外的地址,默认下载速度非常的慢,所以我们需要将地址修改为国内的地址--阿里云的maven 仓库地址。

学习如何配置:

1、如何修改本地仓库地址

在你需要指定的地方创建一个文件夹,名字maven_repository

D:\tool\maven_repository

打开你的settings.xml文件夹,找到如下的地方:

本地仓库默认存放的位置:

<localRepository>D:\repository</localRepository>

2、将远程仓库地址,修改为阿里云 settings.xml 中 mirrors 标签内复制如下代码即可

<mirror>
		<id>nexus-aliyun</id>  
		<mirrorOf>central</mirrorOf>    
		<name>Nexus aliyun</name>  
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>  
</mirror>

假如你们公司要是搭建了私服怎么办?

也可以配置一个jdk的版本(选做):

<profile>
    <id>development</id>
    <activation>
    	<jdk>1.8</jdk>
   		 <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

四、idea如何和本地的maven进行关联呢?

第一步:

第二步:settings

第三步:配置other settings

settings配置的是当前的项目,对以后新建的项目不起作用,但是我们希望以后新建的项目都使用我们本地的maven以及maven仓库,就需要配置other settings

五、使用idea如何新建Maven项目

 

以上的方式是使用骨架帮我们创建java项目,创建成功以后,pom.xml中以及项目中会自带一些内容,可以酌情删除,比如pom.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>

    <!-- g a v  项目的坐标-->
    <groupId>com.bigdata</groupId>
    <artifactId>MavenDemo</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <!--编写一个jar包的坐标,这个jar包就会被这个项目引用-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

接着演示,如何在项目中导入一个jar包?

在https://mvnrepository.com/ 搜索你想导入的jar包的名称,比如mysql

可以在项目中的pom.xml 中将需要的jar包通过坐标的形式,一个个全部粘贴进来

<dependencies>
        <!--编写一个jar包的坐标,这个jar包就会被这个项目引用-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.24</version>
        </dependency>
    </dependencies>

担心的问题:我怎么知道我想要的jar包坐标是什么?

一般在企业中,没有一个项目是说让你从头到尾把这个项目中需要的坐标一个个找出来的,都是别人给的pom.xml

我们引入的包下载到了哪里?


http://www.kler.cn/a/448597.html

相关文章:

  • R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
  • python学opencv|读取图像(十八)使用cv2.line创造线段
  • vue iframe进行父子页面通信并切换URL
  • 计算机组成原理的学习笔记(5)--数据的表示与运算·其四 浮点数的储存和加减/内存对齐/大端小端
  • Linux系统的阻塞方式和非阻塞方式是什么意思?
  • XILINX平台LINUX下高速ADC08060驱动
  • [Unity Shader]【游戏开发】【图形渲染】Shader数学基础7-矩阵变换概览及其几何意义
  • 前端路由模式详解:Hash 模式、History 模式与 Memory 模式
  • 深度学习作业十一 LSTM
  • 【LeetCode】52、N 皇后 II
  • Python的sklearn中的RandomForestRegressor使用详解
  • MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
  • KMP模式匹配算法——详细讲解、清晰易懂
  • THM:Vulnerability Capstone[WriteUP]
  • Python中SKlearn的K-means使用详解
  • Flutter组件————Container
  • Windows下使用git配置gitee远程仓库
  • 【C语言】后端开发。数据一致性和分布式锁
  • 基于springboot的电影订票系统
  • SpringMVC的URL组成,以及URI中对/斜杠的处理,解决IllegalStateException: Ambiguous mapping
  • 在 Sanic 应用中使用内存缓存管理 IP 黑名单
  • 霍尔传感器在汽车车门把手上的应用
  • 前端安全——敏感信息泄露
  • Redis——缓存穿透
  • 黑马程序员Java笔记整理(day07)
  • VS2022(Visual Studio)中显示行数(c#)