因为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命令来构建、打包并运行项目。具体来说,它通常会执行以下步骤:
- 清理target目录下的所有文件(mvn clean)。
- 编译项目源代码(mvn compile)。
- 运行项目单元测试(mvn test)。
- 打包项目成可执行的jar或war包(mvn package)。
- 运行项目(例如使用java -jar命令来运行jar包)。
这些步骤可能会根据具体的项目配置和需求而有所不同,但大多数Java项目都会遵循类似的流程来构建、打包和运行。
第二次点击运行项目
当第二次运行项目时,如果没有修改代码或者依赖关系,Maven会默认跳过编译和测试步骤,直接使用之前已经打包好的jar或war包来运行项目。具体来说,它通常会执行以下步骤:
- 检查项目源代码是否发生变化,如果没有变化则跳过编译步骤。
- 检查项目单元测试是否需要重新运行,如果不需要则跳过测试步骤。
- 使用之前已经打包好的jar或war包来运行项目。
在第二次运行项目时,如果没有修改代码或者依赖关系,Maven会默认跳过编译和测试步骤,直接使用之前已经打包好的jar或war包来运行项目,而不会清空target目录下的文件。只有当代码或者依赖关系发生变化时,Maven才会重新执行编译、测试、打包等步骤,并生成新的可执行的jar或war包。
当我们删除某个类时,如果没有执行
mvn clean
命令,那么target目录下可能还会存在该类的class文件。这是因为Maven在执行编译时会将源代码编译成class文件放在target目录下的对应包路径中,而不会判断源代码是否被删除。
如果需要删除target目录下的所有文件,可以执行mvn clean
命令。该命令会清空target目录下的所有文件,包括编译生成的class文件和打包生成的jar/war文件。然后再重新执行mvn compile
、mvn 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 可以正常编译和运行。
这种传递性依赖可以简化项目的依赖管理,减少手动配置依赖项的工作量。但需要注意的是,过度依赖传递可能会导致依赖冲突或版本冲突的问题。因此,在添加依赖时,需要仔细考虑依赖关系,并确保所有依赖项的版本兼容性和稳定性。