IDEA如何配置 Maven 及 Maven 安装过程(详细版)

IDEA如何配置 Maven(详细版)

一、安装Maven

1、下载Maven 安装包

官网:https://maven.apache.org/

在这里插入图片描述

2、点击Download ===》选择 apache-maven-3.8.6-bin.zip

在这里插入图片描述

3、下载后解压产生此文件夹

在这里插入图片描述

4、文件夹如图所示

在这里插入图片描述

二、环境变量配置

1、点击我的电脑->属性->高级系统设置->环境变量

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

2、新建:M2_HOME 内容: maven的bin目录(这里看大家安装的路径,不一定一样)

在这里插入图片描述

3、新建:MAVEN_HOME 内容:maven的目录

在这里插入图片描述

4、关键配置path环境,前面的不要动。加上 %MAVEN_HOME%\bin

在这里插入图片描述

5、输入命令行 cmd mvn -version

在这里插入图片描述

至此maven环境变量配置完成!

三、配置镜像仓库

1、打开 \apache-maven-3.8.5\conf 下的 setting-xml 建议使用 notepad++ 打开

添加如下配置(这里我们使用【阿里云镜像】建议配置,下载速度比较快)


<!--  配置阿里云  -->
<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

在这里插入图片描述

2、配置本地仓库

<!--  本地仓库路径  --><localRepository>D:/repository</localRepository>

在这里插入图片描述

3、配置默认JDK版本(在setting.xml文件中配置)


<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></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

1、打开IDEA,打开 settings 面板

1)在没有默认指定项目路径时出现:进入主界面后点击 configure,然后点击 settings

在这里插入图片描述

2)在有指定项目路径时出现:进入项目中 点击 File,然后点击 settings

在这里插入图片描述

2、在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点击maven。

在这里插入图片描述

3、修改maven的路径(使用本地的Maven),以及修改settings文件的位置和本地仓库的位置

在这里插入图片描述

4、推荐配置:设置maven在不联网的情况下使用本地插件

一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网路的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。

输入内容:-DarchetypeCatalog=internal

在这里插入图片描述

五、构建 Maven 项目

第一节 使用骨架创建Maven的java工程

1、选择Create New Project

在这里插入图片描述
2、选中左侧的Maven,并将Create from archetype选中,在下方选择骨架quickstart,点击Next。

在这里插入图片描述
3、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

在这里插入图片描述

4、确认信息是否正确

在这里插入图片描述

5、当右下角出现提示时,点击Enable Auto Import。

在这里插入图片描述
6、目录结构如下:

在这里插入图片描述

7、我们需要手动将maven文件夹补齐。

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

8、若该文件夹是普通的文件夹,还要将该文件夹设为resource文件夹。

在这里插入图片描述

9、同样,在test文件夹下创建resources文件夹。最后的目录结构如下:

在这里插入图片描述

第二节 不使用骨架创建Maven的 java工程

1、首先,新建一个工程,因为不使用骨架,可直接在Maven下点击Next按钮

在这里插入图片描述
2、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

在这里插入图片描述
点击Finish。

3、新建的文件没有test文件夹下的resources文件夹,我们需要手动将maven文件夹补齐。

在这里插入图片描述
在这里插入图片描述
4、若该文件夹是普通的文件夹,还要将该文件夹设为resource文件夹(我使用的是19年3月的,不用设置)。
在这里插入图片描述
5、最后创建的java工程的目录结构

在这里插入图片描述

第三节 使用骨架创建Maven的java web工程

1、选中左侧的Maven,并将Create from archetype选中,在下方选择骨架webapp,点击Next。

在这里插入图片描述

2、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

在这里插入图片描述

3、点击Finish。点击Enable Auto-import

在这里插入图片描述

4、创建的目录结构如下:

在这里插入图片描述
5、下面还要补全创建的目录。

在这里插入图片描述
在这里插入图片描述
6、若创建的java文件夹是普通的文件夹,需要右键选择:

在这里插入图片描述
7、同理创建其他文件夹。最后的目录结构如下:

在这里插入图片描述

第四节 不使用骨架创建Maven的java web工程

1、新建项目,选择Maven。因为不使用骨架创建Web项目,所以不勾选Create from archetype,直接点击Next

在这里插入图片描述

2、编辑项目名,编辑好后点击Finish

在这里插入图片描述

3、不使用骨架的Web项目已经创建完成了,下面是基本的结构,没有web目录

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

4、我们需要手动添加Web目录,我们需要添加web文件夹;File >> Project Structure

在这里插入图片描述

5、按照以下顺序添加web目录。

在这里插入图片描述

6、创建和修改位置,修改好后点击Apply

在这里插入图片描述

7、然后点击Artifacts,加入刚才创建的项目

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

8、现在项目基本创建完成,点击OK ,就完成了,下面就有maven的web项目基本目录了

在这里插入图片描述

9、基本目录就差一个测试工具类,可以把鼠标放在Test上面new。

在这里插入图片描述

10、下面有提示,可以直接双击就可以了

在这里插入图片描述

11、以上就是Maven不使用骨架创建Web项目

在这里插入图片描述

六、 IDEA使用Maven命令

前提条件:maven配置环境变量。
在保证环境变量配置没问题的情况下执行过程出现mvn不是内部命令类似的错误,建议重启编译器或者命令窗口。

6.1 方式一:配置Maven 命令

IntelliJ IDEA自身已经集成了maven,不需要再去下载!

1、点击"Edit Configurations"

在这里插入图片描述
2、进入Run/Debug Configurations 窗口,点击左上角的"+“,在弹出的” Add New Configuration "列表中选择 “maven”。

在这里插入图片描述

3、为新的configuration输入名称和执行的命令,点击确认

在这里插入图片描述

4、配置完成后,新的configuration会成为默认的configuration,直接点击运行按钮--三角形绿色按钮

在这里插入图片描述

5、之后,就会执行配置的maven命令!

在这里插入图片描述

//常用maven命令mvn -v //查看版本
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //进行打包
mvn clean test //执行单元测试
mvn clean deploy //部署到版本仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息

6.2 方式二:手动输入Maven命令

1、在IDEA主界面左下角找到 Terminal 点击进入,直接输入想执行的命令即可。

在这里插入图片描述
2、输入命令。

在这里插入图片描述

6.3 方式三:使用 Maven 命令栏

直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中,可称为架包。在其他应用中运行时,必须保证其上面有相应的依赖包,才能运行。

方式一:

1、maven——》Lifecyle——》Clean——》Package

在这里插入图片描述

打包成功后就会出现target文件夹

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

方式二:

打包两个jar包:

  • 一个是架包(只包含程序包即方式一打的包
  • 一个是全包(将maven项目中的依赖包和项目打为一个包 。)
  • 一般都会选择方式二进行打包,这样可以直接在其他应用中调用
  • 打包成功后就会出现target文件夹:包括两个jar包
  • 较长的名字就是含有依赖包的jar包

maven——》Plugins——》assembly——》assembly:assembly

在这里插入图片描述

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

七、 Maven 的 pom 配置 说明

看这里 【超级完整 的 Maven 讲解 以及私服搭建】

八、 Maven 配置错误之Unable to import maven project: See logs for details

很多朋友在初次使用maven时,都会出现这个问题。

一加载maven项目,即会报出Unable to import maven project这样的错误,哪怕是新的maven项目也不例外。

我查阅了很多博客,给出的解决办法无非是重查MAVEN_HOME、path的配置,idea内settings的配置,我想只要认真配置是不出现这种问题的。
我排查了一遍,并没有发现有关于路径方面的问题。

有部分博客提到了是否是JDK版本的问题,但大多数的博客给出的配置全都是基于JDK1.8版本的(我也是,毕竟稳定好用)。如果使用的是JDK的其他版本,有人给出了以下的修改建议:
在setting.xml中配置全局编译JDK版本

这是jdk1.8的版本

<profile>    <id>jdk-1.8</id>    <activation>    <activeByDefault>true</activeByDefault>    <jdk>1.8</jdk>    </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>

如果是JDk1.8以上的,建议修改为1.9,10,11,12…

但即使这样,依旧没有解决读取不到本地仓库的问题。(我之前使用的1.9,无奈改为1.8)

终于,不泄的我终于找到的问题的关键(整整三天,装了又卸,卸了又装,也可能是我太菜)。
maven版本过高,idea带不动…,所以安装低版本的maven即可。

后来者谨记,idea2017版记得使用maven3.5版本,反正我用了3.5.0最低版。

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

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

相关文章

爬虫——如何应对具有反爬机制的网站

&#x1f345; 写在前面 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;这里是hyk写算法了吗&#xff0c;一枚致力于学习算法和人工智能领域的小菜鸟。 &#x1f50e;个人主页&#xff1a;主页链接&#xff08;欢迎各位大佬光临指导&#xff09; ⭐️近…

web安全学习笔记(12)

记一下第十六节课的内容。 一、jQuery Ajax 我们要先下载jQuery。 首先我们转移到template目录下&#xff0c;准备把jQuery下载到这下面。 直接wget下来就可以了。 这样我们就下载好了jQuery&#xff0c;下面我们学习如何使用。 jQuery 调用 ajax 方法 格式&#xff1a;$.…

【前端面试3+1】16 TCP与UDP的区别、如何清除浮动、哪些原因造成阻塞页面渲染、【相同的树】

一、TCP与UDP的区别 TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是两种常用的网络传输协议&#xff0c;它们有以下几点区别&#xff1a; 1、连接性&#xff1a; TCP是面向连接的协议&#xff0c;通信双方在…

视频拍摄知识+AIGC数据预处理

视角 参考链接&#xff1a;https://www.polarpro.com/blogs/polarpro/filmmaking-101-types-of-camera-shots-and-angles Low Angle Shot 低角度拍摄、horizontal Shot 平视、Dutch Angle Shot 荷兰角斜拍、High Angle Shot 高角度拍摄、Bird’s-eye / Aerial Shot 鸟瞰 / 航…

最大公约数和最小公倍数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现最大公约数函数&#xff1b; int max(int x, int y) {//初始化变量值&#xff1b;int judge 1;//运算&#xff1b;judge x %…

【智能算法】CEC2017测试集

目录 1.背景2.CEC2017测试集3.参考文献 1.背景 IEEE 国际进化计算大会&#xff08;IEEE Congress on Evolutionary Computation&#xff0c;IEEE CEC&#xff09;是进化计算领域中规模最大、影响最重要的会议之一。为了公平评估算法的优化性能&#xff0c;该会议在优化竞赛中提…

工作必备!快速了解多微信高效管理工具

在如今社交媒体和移动即时通信的时代&#xff0c;微信已成为人们工作和生活中不可或缺的一部分。而对于那些需要同时管理多个微信账号的用户来说&#xff0c;微信管理工具则是一项绝对必备的利器。 1、多微信同时登录 通过微信管理系统&#xff0c;我们可以在同一个界面内同时…

2024.4.18

思维导图 数据库 #include <myhead.h> //添加学生信息 void insert_stu(sqlite3* sq,char* errMsg) {char text[128];int ID,age,height;char name[10];scanf("%d%s%d%d",&ID,name,&age,&height);sprintf(text,"insert into Student values …

【论文速读】| 大语言模型是边缘情况模糊测试器:通过FuzzGPT测试深度学习库

本次分享论文为&#xff1a;Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT 基本信息 原文作者&#xff1a;Yinlin Deng, Chunqiu Steven Xia, Chenyuan Yang, Shizhuo Dylan Zhang, Shujing Yang, Lingming Zhang 作者单位&…

数学建模--蒙特卡罗法MATLAB代码保姆式解析

1.简单介绍 2.思想的实际运用 我们利用蒙特卡罗法的思想求解圆周率π的值&#xff0c;这里求得的肯定是近似值&#xff0c;我们是通过大量的模拟实验&#xff0c;利用概率求解的&#xff0c;但是这个值和我们的精确值之间还是有一定的误差的&#xff1b; 我们的思想就是在半径为…

npm怎么迁移到pnpm

下载的vue3模板用到了pnpm&#xff0c;就安装了一下 但是安装之后使用pnpm install 就发现包全被移动到ignored文件夹下面了,还报错 PS G:\Projects\gitProeject\TS_front> pnpm installWARN  Moving commitlint/config-conventional that was installed by a different …

基于springboot+vue+Mysql的论坛管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

清晰讲明 BFS实现的拓扑排序

前提&#xff1a; 图&#xff1a;就是结点和边组成的数据结构 有向无环图&#xff1a;就是每一个边都有方向&#xff0c;且无法构成一个环&#xff0c;只有没有环的图才能进行拓扑排序&#xff0c;所以拓扑排序也能用来证明该图有没有环 在有向无环图中有两个概念&#xff1…

原生支付宝小程序 - 获取“dom“元素

在支付宝中是不能获取到dom元素的&#xff0c;但是我门可以借助my.createSelectorQuery来实现 Page({data:{sq:{}},onLoad(){},onShow(){this.setData({sq: my.createSelectorQuery()})} })通过axml来查看 <view>{{sq}} </view>会发现它只是一个Object&#xff0…

面试算法-177-二叉搜索树中第K小的元素

题目 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;1 解 class Solution…

鸿蒙TypeScript学习第19天【命名空间】

1、TypeScript 命名空间 命名空间一个最明确的目的就是解决重名问题。 假设这样一种情况&#xff0c;当一个班上有两个名叫小明的学生时&#xff0c;为了明确区分它们&#xff0c;我们在使用名字之外&#xff0c;不得不使用一些额外的信息&#xff0c;比如他们的姓&#xff0…

低成本的云MES更合适中小企业

长期以来&#xff0c;面对激烈的竞争压力&#xff0c;我国传统的制造企业逐渐从大规模、低成本向多品种、小批量、定制化转型&#xff0c;逐步由粗放式管理向精益化管理靠拢&#xff0c;如ERP、CAD、PLM、OA等多个信息化系统已在我国制造企业中得到了较为广泛的应用&#xff0c…

python 无处不在的二分搜索

我们知道二分查找算法。二分查找是最容易正确的算法。我提出了一些我在二分搜索中收集的有趣问题。有一些关于二分搜索的请求。我请求您遵守准则&#xff1a;“我真诚地尝试解决问题并确保不存在极端情况”。阅读完每个问题后&#xff0c;最小化浏览器并尝试解决它。 …

【个人博客搭建】(8)全局异常处理

1、net 8 webapi 全局异常处理: 在 .NET 8 WebAPI 中&#xff0c;全局异常处理可以通过实现**IExceptionHandler接口或使用IAsyncExceptionFilter接口来完成**。 首先&#xff0c;关于IExceptionHandler接口&#xff0c;它是ASP.NET Core中用于全局异常处理的新抽象。这个接口有…

【C++】priority_queue(优先级队列介绍、仿函数控制大堆小堆、模拟实现)

一、优先级队列 1.1介绍 优先级队列&#xff08;Priority Queue&#xff09;是一种特殊的数据结构&#xff0c;其并不满足队列先进先出的原则&#xff0c;它结合了队列和堆的特点&#xff0c;允许我们在其中插入元素&#xff0c;并且能够保证任何时候提取出的元素都是当前队列…