找不到或无法加载主类 @C:\***\Local\Temp\idea_arg_file...

找不到或无法加载主类 @C:\Users\qinqin\AppData\Local\Temp\idea_arg_file...

通常我们看到的错误是"找不到主类 com.xxx.App",但这里报错说找不到那个 @ 开头的临时文件 ,或者 Java 进程把这个文件名误当成了主类名。这通常是 IntelliJ IDEA 的命令行过长处理机制(Command Line Shortener) 与 Java 环境或系统环境不兼容导致的。

以下是所有可能的原因及对应的解决方案,按可能性从高到低排序:

1. 命令行缩短器(Command Line Shortener)配置问题(最常见)

原因: Windows 命令行有字符长度限制(32768字符)。当项目的 classpath 非常长时,IDEA 会把参数写入一个临时文件,然后用 @文件名 的方式传给 Java。如果你的 JDK 版本不支持 @ 语法,或者 IDEA 配置方式不对,就会报错。

解决方案:

  1. 打开 Run -> Edit Configurations...。
  2. 选中你的启动项(Spring Boot 或 Application)。
  3. 找到 Shorten command line 选项(如果折叠了,请点击 Modify options 展开)。
  4. 尝试修改它的值:推荐尝试: 改为 JAR manifest(最稳妥)。

2.临时文件路径包含中文或特殊字符

原因: 你的路径是 C:\Users\qinqin...,看起来没问题。但如果用户名包含中文、空格,或者系统编码(GBK vs UTF-8)与 IDEA 设置不一致,Java 读取这个临时文件时可能会乱码,导致解析失败。

解决方案:

  • 修改 IDEA 编码: File -> Settings -> Editor -> File Encodings,全部设置为 UTF-8。
  • 勾选 UTF-8 支持: 也可以在 Help -> Edit Custom VM Options 中添加 -Dfile.encoding=UTF-8。
  • 最直接的方法: 使用方案 1 中的 JAR manifest 模式,它不依赖文本文件的编码读取,而是生成一个临时的 jar 包。
相关推荐
Percep_gan32 分钟前
调用天翼云的对象存储ZOS,很详细
java·1024程序员节
若亦_43 分钟前
数据结构>>优先级队列(堆)
java·数据结构
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
denlaku1 小时前
JDK 23 新特性详解
java
code2cat1 小时前
Java高级篇之Hibernate:让对象映射到表,理解持久化与事务
java·后端·hibernate·1024程序员节
风别鹤1 小时前
Xcode pod ‘xxx/xxx.h‘ file not found
ide·macos·xcode
骑着蜗牛撵大象3272 小时前
飞牛fnOS部署Damselfly:Compose编排、照片目录与7100固定访问
java·docker·rpc·dubbo·fnos·照片管理·damselfly
金銀銅鐵2 小时前
[Java] 用 CLI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
Nuanyt3 小时前
Hot 100 刷题笔记 · 数组与哈希专题(3 题)
java·笔记·算法·leetcode·哈希算法·1024程序员节
xieliyu.3 小时前
【JavaEE进阶】Spring Boot 日志:从 System.out 到 @Slf4j,6 个级别 + 4 类配置一篇讲透
java·spring boot·spring·java-ee·springboot·logback·slf4j