Windows环境下IntelliJ IDEA JPA控制台执行查询报错CreateProcess error=206
IntelliJ IDEA嵌入式JPA控制台执行查询时出现CreateProcess error=206错误的排查与解决
错误信息
执行JPA查询时触发如下错误:
IOException: CreateProcess error=206, The filename or extension is too long
相关情况说明
- 每次执行JPA查询都会触发该错误;
- 已在应用配置中启用“Shorten Command Line”选项(@argfile(Java9+))以规避命令行长度问题;
- 通过Database标签的SQL控制台执行普通SQL查询无异常,可正常操作PostgreSQL数据库;
- 该问题仅出现在Windows环境,Mac环境下相同项目与数据库的JPA控制台可正常运行;
- 项目采用标准Java+JPA技术栈,数据库连接在其他操作中正常。
环境信息
- IntelliJ IDEA Ultimate Edition 2024.3.1.1,构建号#IU-243.22562.218(2024年12月18日构建)
- 运行时:OpenJDK 64-Bit Server VM (21.0.5+8-b631.28)
- 操作系统:Windows 11 Pro 24H2(版本号26100.2605)
可能原因分析
- Shorten Command Line配置未覆盖JPA控制台进程:应用配置里的缩短命令行设置仅针对主应用进程,JPA控制台是独立启动的子进程,IDEA未将该配置同步到其启动参数中。
- Windows路径限制的特殊触发场景:即使使用@argfile,IDEA生成的参数文件路径本身过长,或参数文件内的类路径、依赖路径累加后仍触发Windows传统路径长度限制(260字符),部分老API或进程启动逻辑可能未适配现代Windows的长路径支持。
- JPA控制台类路径逻辑差异:JPA控制台需要构建完整的JPA运行环境,会加载更多依赖、生成更长的类路径参数;而普通SQL控制台直接复用已有数据库连接,无需加载完整应用类路径,因此不会触发长度问题。
解决建议
1. 为JPA控制台单独配置Shorten Command Line
- 打开IDEA的Run/Debug Configurations,找到对应JPA控制台配置(首次执行JPA查询会自动生成);
- 在Configuration标签页,将Shorten Command Line设置为
@argfile(Java9+)或Jar manifest; - 保存配置后重启JPA控制台重试。
2. 启用Windows长路径支持
- 打开Windows注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem; - 修改
LongPathsEnabled键值为1(不存在则新建DWORD(32位)值); - 重启电脑后生效,解除传统260字符路径限制。
3. 优化项目路径与依赖
- 将项目移动到更短的目录下(例如从
C:\Users\XXX\Documents\LongProjectName\SubFolder改为D:\Proj\MyApp),减少基础路径长度; - 清理项目中未使用的依赖,精简类路径。
4. 手动指定JPA控制台类路径
- 在JPA控制台启动配置的VM参数中,通过
-cp指定精简后的类路径,或使用自定义arg文件加载类路径; - 尝试用
-Djava.class.path参数直接指定关键依赖,避免IDEA自动生成过长的类路径。
内容的提问来源于stack exchange,提问作者VegetaSan
相关产品推荐
相关产品推荐

