idea运行main方法或Test避免编译整个应用的方法

已建项目中修改

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) 单个文件,但是常常会忘记,可开启自动编译
在这里插入图片描述

其他技巧

  1. 简单的测试和其他模块互动不多的模块时,可以单独recomplie(Shift+Ctrl+F9) 单个文件,然后再test中单独对这个文件做测试
  2. 当要测试的文件比较复杂,或引用的功能比较复杂(如启动spark session),则最好先整个工程build一遍(最差也要整个module build一遍),不然会有很多意向不到的问题(比如spark很细节的日志也会输出,而且关不掉)
  3. 整个工程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

### IDEA 2024 Main 方法报错解决方案 #### 检查项目结构配置 当遇到“找不到无法加载主类”的错误时,应首先检查项目的结构设置。确保 `Project Structure` 中的 `Excluded Folders` 不包含 `target` 文件夹[^1]。如果存在,则移除它并重新导入 Maven 依赖。 #### 编译 Java 文件 确认所有的 `.java` 文件已经成功编译为 `.class` 文件。Java 虚拟机仅能识别已编译的目标文件;因此,在执行之前务必完成编译过程[^3]。 ```bash javac MyMainClass.java ``` #### 更新 POM 文件 对于使用 Maven 构建工具的情况,需仔细审查 `pom.xml` 文件中的依赖项声明是否正确无误。特别是针对那些来自外部库(如 UDF 类所在的 JAR 包),任何缺失不匹配都可能导致类路径问题[^2]。 #### 设置正确的输出目录 在 IDE 的构建路径配置中指定合适的输出位置非常重要。具体来说: - 对于生产环境代码 (`src/main/java`) 应该指向 `target/classes` - 测试用例则对应到 `target/test-classes` 通过上述调整可以有效避免因输出目标不当引发的类查找失败情况[^4]。 #### 示例操作流程 假设当前工作区名为 `MyApp`, 主程序入口位于 `com.example.MyApplication`. 可按照下面步骤排查修复此异常: 1. **清理旧数据** - 删除整个 `target/` 目录及其子资源. 2. **同步依赖关系** ```shell mvn clean install ``` 3. **验证模块属性** - 打开菜单栏上的 "File" -> "Project Structure..." - 寻找左侧列表里的 Modules 分支节点展开查看其内部组件. 4. **修正源码根路径映射** - 如果有必要的话, 将 src/main/java 和其他必要的 source roots 正确关联起来. 5. **重置运行配置参数** - 修改 Run Configurations 下的相关设定以适应最新的工程状态变化.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值