idea快捷键和常用设置和maven

news2024/12/28 17:56:29

因为Eclipse快捷键较为统一,因此我们提前设置好,统一idea中的快捷键遵从Eclipse的快捷键。

常用设置

快捷键的统一

设置–按键映射–Eclipse
在这里插入图片描述

自动导包

设置–编辑器–常规–自动导入
这个操作主要是为了正确导包,当我们将某行代码注释的时候,idea会自动将我们把该包撤回,而不会变成灰色。
在这里插入图片描述

常用快捷键

添加或取消注释 Ctrl + /

在当前文件中查找文本 Ctrl + F(Find 查找)

查找并替换文本 Ctrl+R

支持多行查找,或者只在代码中查找,或者只在注释中查找,或者使用正则表达式查找

快速搜索和打开类 Ctrl + N

快速补全代码 Alt + /

快速提示完成,在代码存在语法问题时,IDEA 会提示使用该快捷键自动修正语法 Alt + Enter

(功能非常强大,最常使用)

生成Getter/Setter等方法(最常使用 Alt + Insert

快速格式化代码 Ctrl + Alt + L

将选中的代码使用 if、while、try/catch 等代码块包装起来(功能强大) Ctrl + Alt + T

将光标所在的代码块向上/下整体移动 Ctrl + Shift + 向上/下箭头

查看类的继承体系, 在所在类右键Diagrams----show diagrams proup

加快写代码速度

类名.new ->new对象

.if->if()

maven

Maven是一个Java项目的构建工具,它可以管理项目中的依赖关系、编译代码、打包、测试等一系列操作。以下是常用的Maven指令及其作用:

mvn clean:清除target目录下的所有文件,包括编译生成的class文件和打包生成的jar/war文件。
应用场景:当项目代码或依赖发生变化时,需要重新编译项目时使用。

mvn compile:编译源代码,生成class文件。
应用场景:项目代码发生变化时,需要重新编译项目时使用。

mvn test:运行JUnit测试用例。
应用场景:在开发过程中,需要对代码进行单元测试时使用。

mvn package:生成项目的可执行jar或war包。
应用场景:项目开发完成后,需要将项目打包成可执行的jar或war包时使用。

mvn install:将项目jar包安装到本地仓库中。
应用场景:当需要在其他项目中引用当前项目时,可以将当前项目安装到本地仓库中,供其他项目引用。

mvn deploy:将项目jar包部署到远程仓库中。
应用场景:当需要在其他项目中引用当前项目时,可以将当前项目部署到远程仓库中,供其他项目引用。

mvn dependency:tree:展示项目的依赖树。
应用场景:当需要查看项目的依赖关系时使用。

mvn dependency:resolve:解析项目的依赖关系。
应用场景:当需要查看项目依赖的具体版本时使用。

mvn help:查看Maven帮助信息。
应用场景:当需要查看Maven的使用方法或者指令说明时使用。

第一次点击运行项目

当我们点击项目运行时,实际上是执行了Maven命令来构建、打包并运行项目。具体来说,它通常会执行以下步骤:

  1. 清理target目录下的所有文件(mvn clean)。
  2. 编译项目源代码(mvn compile)。
  3. 运行项目单元测试(mvn test)。
  4. 打包项目成可执行的jar或war包(mvn package)。
  5. 运行项目(例如使用java -jar命令来运行jar包)。

这些步骤可能会根据具体的项目配置和需求而有所不同,但大多数Java项目都会遵循类似的流程来构建、打包和运行。

第二次点击运行项目

当第二次运行项目时,如果没有修改代码或者依赖关系,Maven会默认跳过编译和测试步骤,直接使用之前已经打包好的jar或war包来运行项目。具体来说,它通常会执行以下步骤:

  1. 检查项目源代码是否发生变化,如果没有变化则跳过编译步骤。
  2. 检查项目单元测试是否需要重新运行,如果不需要则跳过测试步骤。
  3. 使用之前已经打包好的jar或war包来运行项目。

在第二次运行项目时,如果没有修改代码或者依赖关系,Maven会默认跳过编译和测试步骤,直接使用之前已经打包好的jar或war包来运行项目,而不会清空target目录下的文件。只有当代码或者依赖关系发生变化时,Maven才会重新执行编译、测试、打包等步骤,并生成新的可执行的jar或war包。

当我们删除某个类时,如果没有执行mvn clean命令,那么target目录下可能还会存在该类的class文件。这是因为Maven在执行编译时会将源代码编译成class文件放在target目录下的对应包路径中,而不会判断源代码是否被删除。

如果需要删除target目录下的所有文件,可以执行mvn clean命令。该命令会清空target目录下的所有文件,包括编译生成的class文件和打包生成的jar/war文件。然后再重新执行mvn compilemvn package等命令来编译和打包项目。

另外,如果使用的是一些集成开发环境(IDE),例如Eclipse、IntelliJ IDEA等,它们通常会自动检测源代码的变化并自动编译生成新的class文件,因此在IDE中删除源代码后,对应的class文件也会被删除。

pom文件 依赖的传递性

当模块 A 的 POM 文件中添加了对模块 B 的依赖时,模块 A 将直接依赖于模块 B,并且会间接导入模块 B 中的依赖项。这意味着模块 A 可以使用模块 B 提供的功能和类库。

Maven 在解析依赖关系时会自动处理传递性依赖。当模块 A 依赖于模块 B,而模块 B 又依赖于模块 C,Maven 会自动下载和管理模块 C 的依赖,确保模块 A 可以正常编译和运行。

这种传递性依赖可以简化项目的依赖管理,减少手动配置依赖项的工作量。但需要注意的是,过度依赖传递可能会导致依赖冲突或版本冲突的问题。因此,在添加依赖时,需要仔细考虑依赖关系,并确保所有依赖项的版本兼容性和稳定性。

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

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

相关文章

【物联网无线通信技术】LoRa从理论到实现(SX1268)

文章先从LoRa的物联网通信技术前辈们讲起,慢慢引出了这种功耗又低,距离又远的无线通信技术,然后又似庖丁解牛一般,从物理层到链路层,详细的介绍了LoRa这种技术的组成,最后以一种实际的原理与嵌入式软件实现…

MySQL实战解析底层---如何正确地显示随机消息

目录 前言 内存临时表 磁盘临时表 随机排序方法 前言 现在说说MySQL中的另外一种排序需求,希望能够加深对MySQL排序逻辑的理解从一个单词表中随机选出三个单词这个表的建表语句和初始数据的命令如下: 为了便于量化说明,在这个表里面插入…

ChatGPT科研阅读论文应用插件(txyz.ai)使用初探

前言 ChatGPT没有办法直接阅读论文,但使用txyz.ai插件可以使用ChatGPT来帮助快速得到论文中想要的信息,特别是对于专业名词较多的文章,而且可以问它关于这篇文章的问题,能够加快研究的进程。刚开始了解到这个应用是一个ChatGPT插件…

06- c语言指针 (C语言)

一 指针的引入 1、一般把内存中的一个字节称为一个内存单元。 2、为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址,通常也把这个地址称为指针。 3、如果在程序中定义…

设计模式之策略模式笔记

设计模式之策略模式笔记 说明Strategy(策略)目录策略模式示例类图抽象策略类策略A类策略B类策略C类促销员类测试类 说明 记录下学习设计模式-策略模式的写法。JDK使用版本为1.8版本。 Strategy(策略) 意图:定义一系列的算法,把它们一个个封装起来,并且…

【数据分享】全国县市2000-2021年综合经济数据(地区生产总值\一二三产业增加值等)

《中国县域统计年鉴》是一部全面反映我国县域社会经济发展状况的资料性年鉴,收录了上一年度全国2000多个县域单位的基本情况、综合经济、农业、工业、教育、卫生、社会保障等方面的资料。 本篇文章我们给大家带来从2001年—2022年《中国县域统计年鉴》整理的数据—…

MySQL:事务

事务 在介绍事务之前,我们先来了解一个案例: 在一个买票的软件中,当客户端A检查还有一张票时,将票卖点,但是还没有更新数据库,客户端B检查了票数,发现大于0,于是又卖掉了一张票。然…

ROS:通信机制

目录 一、通信机制简介二、话题通信机制2.1话题通信简介2.2话题通信实操(C)2.2.1分析2.2.2发布方代码2.2.3订阅方代码2.2.4配置CMakeLists.txt2.2.5执行2.2.6注意 2.3话题通信实操(python)2.3.1分析2.3.2发布方代码2.3.3订阅方代码…

【计算机网络】第二章 物理层(上)

文章目录 2.1 物理层的基本概念2.2 物理层下面的传输媒体2.3 传输方式2.4 编码与调制2.4.1 介绍2.4.2 常用编码2.4.3 编码习题2.4.4 基本调制方法2.4.5 混合调制 2.1 物理层的基本概念 物理层考虑的是怎样在连接各种计算机的传输媒体上传输数据比特流。 物理层为数据链路层屏蔽…

4.0、Java_IO流 - 流的概念细分

4.0、Java_IO流 - 流的概念细分 按照流的方向分类: 输入流:数据流从数据源到程序(以 InputStream 、Reader 结尾的流); 输出流:数据流从程序到目的地(以 OutputStream 、Writer 结尾的流&#x…

【雕爷学编程】Arduino动手做(120)---游戏摇杆扩展板

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

2023-06-23:redis中什么是缓存击穿?该如何解决?

2023-06-23:redis中什么是缓存击穿?该如何解决? 答案2023-06-23: 缓存击穿是指一个缓存中的热点数据非常频繁地被大量并发请求访问,当该热点数据失效的瞬间,持续的大并发请求无法通过缓存获取到数据&…

Triton教程 --- Triton 响应缓存

Triton教程 — Triton 响应缓存 Triton系列教程: 快速开始利用Triton部署你自己的模型Triton架构模型仓库存储代理模型设置优化动态批处理速率限制器模型管理自定义算子解耦后端和模型 概述 在本文档中,推理请求是模型名称、模型版本和输入张量(名称、…

ChatGPT从入门到精通,深入认识ChatGPT

ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定1、ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视( 点击观看完整版本 )https…

TreeMap数据结构及源码解析.跟学黑马

TreeMap数据结构及源码解析 1.TreeMap的特点2.TreeMap的数据结构2.1二叉查找树2.1.1二叉查找树的定义2.1.2二叉查找树的查找操作 2.2平衡二叉树2.2.1平衡二叉树的定义2.2.2平衡二叉树的旋转 2.3红黑树2.3.1红黑树的定义 2.TreeMap的源码分析2.1get()获取方法分析2.2put()添加方…

企业级开发项目和自学项目到底有什么区别

前言 好久不见了各位!最近几个月都未更新,是因为从春招开始就在投简历面试实习岗位,然后入职,最后成功成为了一个半成品后端练习生,想说的话有太多太多 下面就站在一个在校实习生的身份,结合自己最近几个月…

科普 | 眼图

本文简要说明眼图相关的知识,参考是德科技的文章 1。 科普 | 眼图 基本知识串扰眼图眼图的产生原理及作用创建眼图 - 眼图波形的采样过程眼图的产生原理及作用眼图可以看出哪些性能指标?如何评判眼图质量?眼图测试模板眼图与存储深度实时的眼…

短视频seo源码开发部署技术解析

短视频seo开发需要哪些技术 应用程序优化技术:包括应用程序的各种元素(如标题、描述、关键字、图标等)的优化和设置,以及应用程序内部链接和导航的合理布局和设置。 视频内容优化技术:包括视频标题、描述、标签、封面…

人工智能数据集处理——数据获取

目录 1、从csv和txt文件中读取数据 pandas中可使用read_csv读取csv或txt文件中的数据 使用read_csv()函数读取phones.csv文件中的数据,并指定编码格式为gbk 使用head()方法指定获取phones.csv文件中前3行的数据 使用read_csv() 函数读取 itheima_books.txt文件中的数据,并指…

【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)

目录 零、Redis 的 Java 客户端有哪些?二、Jedis 客户端(1) 引依赖(2) 连接 Redis 服务并测试(3) Redis 连接池 三、SpringDataRedis 介绍四、SpringBoot 中集成 SpringDataRedis(1) 引入依赖(2) 配置文件中书写相关配置(3) RedisTemplate 的默认序列化方式(4) 自定…