IDEA中maven的设置以及相关功能

news2024/12/24 14:08:26

Maven 项目介绍

学习前提

相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建。

## Maven 常用设置介绍

Maven 常用设置介绍

  • 如上图标注 1 所示,我们可以指定我们本地 Maven 的安装目录所在,因为我已经配置了 MAVEN_HOME 系统参数,所以直接这样配置 IntelliJ IDEA 是可以找到的。但是假如你没有配置的话,这里可以选择你的 Maven 安装目录。

  • 如上图标注 1 上面的 Threads 中可以设置多个线程数,比如填写:2(线程数并不一定是越多越快,需要执行测试)

  • 如上图标注 2 所示,我们还可以指定 Maven 的 settings.xml 位置和本地仓库位置。

Maven 常用设置介绍

  • 如上图标注 1 所示,Import Maven projects automatically 表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置。

  • 如上图标注 2 所示,在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。

  • 如上图标注 3 所示,可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。

Maven 骨架创建 Java Web 项目

Maven 骨架创建 Java Web 项目

  • 如上图 Gif 演示,根据已有的 Maven 骨架进行 Java Web 项目创建。其中需要特别注意的是,在创建项目过程中 Maven 会去外网中央仓库中下载对应的依赖或是组件,这个过程根据自身网络环境决定其快慢。如果出现无法下载的情况请自备 VPN 或者通过修改 Maven 配置文件 settings.xml 切换国内的中央仓库。

  • 由于我已经试过多次了,所以 Gif 演示中我可以快速创建好,但是你那边不一定是这种情况的。

启动 Java Web 项目

Maven 骨架创建 Java Web 项目

  • 如上图 Gif 演示,配置好项目之后,启动 Tomcat 容器可以良好运行。

Maven 组件来管理项目

我们已经了解了如何通过 Maven 骨架生成一个最简单的 Java Web 项目,可是我们还是使用了 IntelliJ IDEA 的项目管理功能进行 Maven 项目的管理和构建。一般 Maven 的项目我们都可以脱离 IntelliJ IDEA 的项目配置功能进行独立的管理和构建的,接下来我们就讲如何通过 IntelliJ IDEA 提供的 Maven 管理工具进行项目的管理和构建。

Maven 组件界面介绍

Maven 组件界面介绍

  • 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:

  • 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般当我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。

  • 第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。

  • 第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。

  • 如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。

  • 如上图标注 3 所示,为我们在 pom.xml 中配置的插件列表,方便调用插件。

  • 如上图标注 4 所示,为我们在 pom.xml 中配置的依赖包列表。

  • 如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。

Maven 的 Tomcat 插件运行项目

Maven 的 Tomcat 插件运行项目

  • 如上图 Gif 演示,通过 Maven 生命周期的命令进行编译和打包,及用 Maven 的 Tomcat 插件运行项目。

  • 虽然我们可以通过 Maven 组件进行项目的管理,但是这并不等同于我们可以完全抛弃 IntelliJ IDEA 的项目设置,比如我们在 pom.xml 文件中设置了 JDK 编译版本是 1.7,但是在项目的 Ctrl + Shift + Alt + S 配置中,我们配置的 JDK 是 1.8,那即使我们用 Maven 的编译工具或命令进行编译也是会调用 1.8的。还有即使我们在 Ctrl + Shift + Alt + S 配置中没有配置 Artifacts,在我们运行 Maven 的 Tomcat 插件的时候也会自动帮我们生成的。

Maven 快速排查依赖包冲突

Maven 快速排查依赖包冲突

  • 如上图箭头所示,点击此按钮会出现左边的项目依赖结构图,通过此图我们可以很好的观察项目的依赖依赖情况。

  • 如上图标注 1 所示,我们可以直接在依赖结构图上编辑依赖,常用的就是此排除功能。

Maven 快速排查依赖包冲突

  • 如上图描述,一般我们在出现红色线的时候是都要进行排除的,防止出现因为版本不同的依赖包造成代码无法编译。

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

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

相关文章

模块化开发_groupby查询think PHP5.1

要求按照分类的区别打印出不同类别的数据计数 如张三,做了6件事情 这里使用原生查询先测试 SELECT cate_id, COUNT(*) AS order_count FROM tp_article GROUP BY cate_id;成功 然后项目中实现 public function ss(){$sql "SELECT cate_id, COUNT(*) AS orde…

RCNA 锐捷培训

第一章 网络基础入门 1.1 OSI参考模型及TCP/IP协议栈 数据是如何传输的? 数据在计算机网络中传输通常依赖于TCP/IP协议模型。 什么是网络? 网络是一种连接多个计算机、设备或系统的通信基础设施,其目的是实现资源共享、信息传递、接收和共享…

14.Xaml ProgressBar控件 进度条控件

1.运行效果 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--Orientation="Horizontal" 进度条的方向 水平的还是垂直的Value="40" 进度的数值Minimum="0" 最小值Maximum

17. 线性代数 - 矩阵的逆

文章目录 矩阵的转置矩阵的逆Hi, 您好。我是茶桁。 我们已经学习过很多关于矩阵的知识点,今天依然还是矩阵的相关知识。我们来学一个相关操作「矩阵的转置」,更重要的是我们需要认识「矩阵的逆」 矩阵的转置 关于矩阵的转置,咱们导论课里有提到过。转置实际上还是蛮简单…

淘宝京东扣库存怎么实现的

1. 使用kv存储实时的库存&#xff0c;直接在kv里扣减&#xff0c;避免用分布式锁 2. 不要先查再扣&#xff0c;直接扣扣扣&#xff0c;扣到负数&#xff0c;&#xff08;增改就直接在kv里做&#xff09;&#xff0c;就说明超卖了&#xff0c;回滚刚才的扣减 3. 同时写MQ&…

小白也可以玩转CMake之常用必备

目录 1.设置编译器flags2.设置源文件属性3.链接器标志4.Debug与Release包 今天&#xff0c;分享一篇工作中经常用到的一些CMake命令&#xff0c;看完就学会了哦&#xff0c;更多CMake与C内容也期待加入星球与我一起学习呀~ 1.设置编译器flags 例如&#xff1a;设置C标准&#x…

论文笔记《3D Gaussian Splatting for Real-Time Radiance Field Rendering》

项目地址 原论文 Abstract 最近辐射场方法彻底改变了多图/视频场景捕获的新视角合成。然而取得高视觉质量仍需神经网络花费大量时间训练和渲染&#xff0c;同时最近较快的方法都无可避免地以质量为代价。对于无边界的完整场景&#xff08;而不是孤立的对象&#xff09;和 10…

C高级day4循环语句

1&#xff0c;思维导图 运行结果为&#xff1a; 运行结果为&#xff1a;

【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)

前言 在上一篇我们主要介绍了有关计算机网络概述的内容&#xff0c;下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。 这一篇博客主要内容是&#xff1a;计算机网络体系结构与参考模型&#xff0c;主要是计算机网络分层结构、协…

search_engine:搜索引擎实现

目录 一.项目背景及原理 1.背景 2.原理 二.技术栈及项目环境 1.技术栈 2.项目环境 3.环境准备 三.模块划分 四. 遇到的问题及其解决方法 1.搜索结果出现重复文档的问题 2.实现httplib功能的问题 五. 项目特点 1.文档记录 2.竞价排名 3.去掉暂停词 4.模拟实现http…

云优先已死——云智能正在发生

混合云&#xff0c;即一些本地云和一些异地云&#xff0c;已经成为 IT 的默认架构&#xff0c;并且已经存在了一段时间了。然而&#xff0c;到目前为止&#xff0c;混合动力一直被视为通向完全公有云的过程中的过渡状态&#xff0c;许多人可能会居高临下地称之为“云成熟度”。…

1-3 AUTOSAR软件架构

目录 一、简介 二、基础软件层 BSW 2.1 微控制器抽象层 2.2 ECU抽象层 2.3 复杂的驱动程序 2.4 服务层 三、运行时环境 RTE 四、应用软件层 SWC 一、简介 分层架构是实现软硬件分离的关键&#xff0c;它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时…

ChatGPT AIGC Python实现自动切换年份进行动态图表可视化

按年份进行动态筛选数据的好处主要包括以下几点: 1. 时间段对比:通过按年份筛选数据,可以方便地进行不同年份之间的数据比较,观察数据的变化趋势。 2. 数据简洁:如果数据量过大,一次性展示可能会导致信息过于复杂,不易理解。按年份筛选可以将数据分段展示,使信息更加…

day 0912

#include <iostream> #include <cstring>using namespace std; class myString { private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度 public://无参构造myString():size(10){str new char[size]; //构造一个长度为10的字符串strcpy(s…

【数据结构】队列知识点总结--定义;基本操作;队列的顺序实现;链式存储;双端队列;循环队列

欢迎各位看官^_^ 目录 1.队列的定义 2.队列的基本操作 2.1初始化队列 2.2判断队列是否为空 2.3判断队列是否已满 2.4入队 2.5出队 2.6完整代码 3.队列的顺序实现 4.队列的链式存储 5.双端队列 6.循环队列 1.队列的定义 队列&#xff08;Queue&#xff09;是一种先…

最新版WPS 2023 加载Zotero方法

安装wps2019vba.exe&#xff0c;获取链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1eeoc6Tmwyzxh3n1MFQTVeA 提取码&#xff1a;6431 –来自百度网盘超级会员V8的分享 打开WPS的工具的加载项 添加文件路径&#xff0c;我的在&#xff1a; C:\Users\Administrat…

函数,变量作用域

目录 为什么需要函数 ​编辑 什么叫函数​编辑 如何定义函数 ​编辑 return和break 函数分类 函数声明 函数是C语言基本单位 变量作用域 全局变量局部变量 命名一样 为什么需要函数 什么叫函数 如何定义函数 return和break 函数分类 函数声明 函数是C语言基本单位…

腾讯云4核8G云服务器S5租用价格_CPU型号_网络性能

腾讯云4核8G服务器CVM标准型S5实例性能测评&#xff0c;包括CPU型号、内存、系统盘、CVM实例规格性能测评&#xff0c;腾讯云4核8G租用优惠价格表&#xff0c;腾讯云服务器网分享腾讯云4核8G服务器CVM S5性能测评和租用费用&#xff1a; 目录 腾讯云4核8G服务器CVM S5性能测评…

嵌入式操作Sqlite的8条建议

当使用 SQLite C 语言接口进行数据库操作时&#xff0c;以下是一些建议和最佳实践&#xff1a; 错误处理&#xff1a;SQLite C 语言接口的函数通常返回一个整数作为返回码&#xff08;return code&#xff09;。在调用这些函数后&#xff0c;应该检查返回码以确定操作是否成功。…

pytorch中的词性标注_seq2seq_比较naive的示例

一、各种用法_查漏补缺&#xff1a; 1.关于numpy中的argmax的用法&#xff1a; numpy之argmax()函数 - 知乎 (zhihu.com) 具体看这篇文章够了 二、代码注释&#xff1a; 参考&#xff1a; Sequence Models and Long Short-Term Memory Networks — PyTorch Tutorials 2.0.…