已建项目中修改
Main函数不biuld :
光标点到main函数里,右键->Modify Run COnfigurations->Modify options
Test 不build
或者单独在每个test里 右键-Modify Run COnfigurations->移除build
对于新建工程统一修改配置:
File->New Project Settings->Run/Debug Configuration Tmepliates for New Project
Test模块不build:
idea中Compile、Make和Build的区别
标注 1:Build Project,编译项目;
标注 2:Build Module,编译模块;
标注 3:Recomplie,重新编译类文件;
标注 4:Rebuild Project,重新编译项目。
如上图所示,在 IntelliJ IDEA 中,编译方式有以上 3 种,分别为:
- Build:对选定的目标(Project 或 Module)进行编译,但只编译修改过的文件,没有修改过的文件则不会进行编译。
- Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
- Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,因此每次 Rebuild 花的时间都比较长。
Compile、Make和Build的区别
编译,是将源代码转换为可执行代码(二进制代码)的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。
Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系。
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
- Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
- Compile:只编译选定的目标(java类文件),不管之前是否已经编译过。
- Build:是对整个工程(Project、Module)进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长
开启自动编译
可以单独recomplie(Shift+Ctrl+F9) 单个文件,但是常常会忘记,可开启自动编译
其他技巧
- 简单的测试和其他模块互动不多的模块时,可以单独recomplie(Shift+Ctrl+F9) 单个文件,然后再test中单独对这个文件做测试
- 当要测试的文件比较复杂,或引用的功能比较复杂(如启动spark session),则最好先整个工程build一遍(最差也要整个module build一遍),不然会有很多意向不到的问题(比如spark很细节的日志也会输出,而且关不掉)
- 整个工程build的时候,缺少jar包,则再最父层先在命令行执行 mvn insall,把所有jar包先拉下来。
参考
https://blog.csdn.net/tzxylao/article/details/121601501
https://blog.csdn.net/mingyuli/article/details/123655027
https://blog.csdn.net/qq_42073385/article/details/121095065