IDEA工具使用之启动项目失败且无日志打印

IDEA工具使用之启动项目失败且无日志打印

  • 问题描述
  • 原因分析
  • 解决方案
    • 方案一:使用类路径缩短方案(推荐)
    • 方案二:修改启动配置
  • 总结

问题描述

  • 概述

新拉取的项目,基于IDEA本地调试启动失败,控制台也没有跳转打印出日志,点击完RUN/DEBUG图标后,项目默认没有任何反映。

原因分析

  • 环境配置

项目日志配置控制台打印,配置文件访问数据库等正常。

  • 日志排查

只能考虑查找IDEA启动日志排查问题。

IDEA日志目录:


C:\Users\<你的用户名>\AppData\Local\JetBrains\Idea版本目录\log

找到idea.log文件找到最新报错信息:

2025-03-24 17:34:02,728 [2276935]   INFO - #c.i.c.i.CompilerUtil - 	COMPILATION FINISHED (BUILD PROCESS); Errors: 0; warnings: 2 took 23787 ms: 0 min 23sec
2025-03-24 17:34:02,801 [2277008]   INFO - #c.i.e.r.ExecutionUtil - Error running <a href="edit">ApplicationStarter</a>. Command line is too long.<br/>Shorten the command line via <a href="jar">JAR manifest</a> or via a <a href="classfile">classpath file</a> and rerun.
com.intellij.execution.process.ProcessNotCreatedException: Cannot run program "D:\Dev\Java\JDK\jdk1.8.0_30\bin\java.exe" (in directory "D:\Dev\Java\CharlesYan\IdeaProjects\xxxx\nbsp"): CreateProcess error=206, 文件名或扩展名太长。at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:384)at com.intellij.execution.target.local.LocalTargetEnvironment.createProcess(LocalTargetEnvironment.java:130)at com.intellij.execution.application.BaseJavaApplicationCommandLineState.startProcess(BaseJavaApplicationCommandLineState.java:77)at com.intellij.execution.application.ApplicationCommandLineState.startProcess(ApplicationCommandLineState.java:96)at com.intellij.execution.application.ApplicationCommandLineState.startProcess(ApplicationCommandLineState.java:29)at com.intellij.execution.configurations.CommandLineState.execute(CommandLineState.java:61)at com.intellij.spring.boot.run.SpringBootCommandLineState.execute(SpringBootCommandLineState.java:72)at com.intellij.execution.impl.DefaultJavaProgramRunner.executeJavaState(DefaultJavaProgramRunner.java:188)at com.intellij.execution.impl.DefaultJavaProgramRunner.lambda$doExecuteAsync$5(DefaultJavaProgramRunner.java:172)at com.intellij.execution.target.TargetEnvironmentAwareRunProfileState$1.run(TargetEnvironmentAwareRunProfileState.java:58)at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:491)at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:133)at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$7(CoreProgressManager.java:542)at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:249)at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:98)at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:223)at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:45)at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:222)at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:674)at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:749)at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:705)at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:673)at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:203)at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:98)at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:249)at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:502)at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$18(ProgressRunner.java:467)at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:107)at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:101)at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$19(ProgressRunner.java:463)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: Cannot run program "D:\Dev\Java\JDK\jdk1.8.0_30\bin\java.exe" (in directory "D:\Dev\Java\CharlesYan\IdeaProjects\xxxx\nbsp"): CreateProcess error=206, 文件名或扩展名太长。at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1170)at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1089)at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:463)at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:469)at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:374)... 39 more
Caused by: java.io.IOException: CreateProcess error=206, 文件名或扩展名太长。at java.base/java.lang.ProcessImpl.create(Native Method)at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:500)at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:159)at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1126)... 43 more

这个错误是由于 Windows 系统对命令行长度有限制(默认 32767 个字符),当 IDEA 启动项目时生成的类路径(Classpath)过长导致的。

解决方案

方案一:使用类路径缩短方案(推荐)

在项目的 .idea/workspace.xml 中添加以下配置:


<component name="PropertiesComponent"><property name="dynamic.classpath" value="true" />
</component>

这会启用动态类路径加载,避免一次性传递所有依赖路径。

方案二:修改启动配置

  1. 打开 Run/Debug Configurations

  2. 找到你的启动配置

  3. 在 VM options 中添加:


-Didea.classpath.use.jars=true
  1. 在 Shorten command line 选项中选择:

JAR manifest(推荐)或 classpath file

  • 具体如图

idea启动失败配置

总结

Windows 的 CreateProcess API 对命令行长度有限制:

传统限制:8191 字符(cmd.exe)

系统限制:32767 字符(Win10 1607+)

当类路径包含大量依赖时(特别是Spring Boot项目),很容易超出限制。

最终,采用方案二解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42013.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GC overhead limit exceeded---Java 虚拟机 (JVM) 在进行垃圾回收内存量非常少解决

背景&#xff1a; 我正在跑一个数据处理较为复杂的程序。然后调试了很多遍&#xff0c;出现了GC问题&#xff0c;如下图bug. GC overhead limit exceeded-这个bug错误通常表示 Java 虚拟机 (JVM) 在进行垃圾回收时花费了过多的时间&#xff0c;并且回收的内存量非常少。…

SAP GUI Script for C# SAP脚本开发快速指南与默认主题问题

SAP GUI Script for C# 快速指南 SAP 脚本的快速使用与设置. 解决使用SAP脚本执行后,默认打开的SAP是经典主题的问题 1. 解决默认主题问题 如果您使用的是SAP GUI 740,并遇到无法打开对话框的问题,请先将主题设置为经典主题(Classic Theme),应用更改后重新打开SAP GUI …

测试用例`

1.什么是测试用例 测试⽤例&#xff08;Test Case&#xff09;是为了实施测试⽽向被测试的系统提供的⼀组集合&#xff0c;这组集合包含&#xff1a;测试环境、操作步骤、测试数据、预期结果等要素. 2.测试用例的万能公式(重点) 设计测试⽤例的万能公式&#xff1a; 功能测试界…

【深度学习】【目标检测】【OnnxRuntime】【C++】YOLOV5模型部署

【深度学习】【目标检测】【OnnxRuntime】【C】YOLOV5模型部署 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【目标检测】【OnnxRuntime】【C】YOLOV5模型部署前言Windows平台搭建依赖环境模型转换--pytorch转onnxONNXRuntime推…

Qt:QWebEngineView显示网页失败

今天在新电脑搭建qt开发环境&#xff0c;在运行程序时发现通过QWebEngineView显示的html失败&#xff0c;同样的代码在旧电脑上没有这个问题 分析过程 &#xff08;1&#xff09;qt出现如下信息提示 [21296:12076:0325/161831.084:ERROR:platform_handle_in_transit.cc(34)] …

第十六届蓝桥杯模拟二(串口通信)

由硬件框图可以知道我们要配置LED 和按键 一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹,code中添加fun.…

uni-app页面怎么设计更美观

顶部 页面最顶部要获取到手机设备状态栏的高度&#xff0c;避免与状态栏重叠或者被状态栏挡住 // 这是最顶部的父级容器 <view :style"{ paddingTop: ${statusBarHeight extraPadding}px }">.... </view> export default {data() {return {statusBarH…

uniapp超简单ios截屏和上传app store构建版本方法

​ 假如使用windows开发ios的应用&#xff0c;上架的时候&#xff0c;你会发现&#xff0c;上架需要ios应用多种尺寸的ios设备的截图&#xff0c;和需要xcode等工具将打包好的ipa文件上传到app store的构建版本。 大部分情况下&#xff0c;我们的公司都没有这么多款ios设备来…

搜广推校招面经六十

soul推荐算法 一、word2vec原理 参考一篇文章入门Word2Vec 二、word2vec正负采样怎么做的、word2vec采用的loss和原理 见【搜广推校招面经四、搜广推校招面经五十二、搜广推校招面经五十七】 不太理解为啥问这么多word2vec&#xff0c;索性直接整理一遍。 三、多路召回融合…

R语言——循环

参考资料&#xff1a;学习R 在R中有三种循环&#xff1a;repeat、while和for。虽然向量化意味着我们可能并不需要大量使用它们&#xff0c;但在需要重复执行代码时&#xff0c;它们是非常有用的。 1、重复循环 R中最容易掌握的循环是repeat。它所做的事情就是反复地执行代码&a…

nginx代理前端请求

一&#xff0c;项目配置 我在 ip 为 192.168.31.177 的机器上使用 vue3 开发前端项目&#xff0c;项目中使用 axios 调用后端接口。 这是 axios 的配置&#xff1a; import axios from axios;const request axios.create({baseURL: http://192.168.31.177:8001,// 设置请求…

老外讲解用Delphi 12.3作web

老外Delphi WebStencils系列教程&#xff0c;从项目入门到发布部署&#xff0c;讲的非常详细&#xff0c;欢迎观看https://www.bilibili.com/video/BV16LZVYpETK

2.Excel :快速填充和拆分重组

一 案例1&#xff1a;快速填充 电子邮件中包含每个人的人名&#xff0c;现在要提取电子邮件中的姓名到名字列。 方法1&#xff1a;将 Nancy 复制到单元格后&#xff0c;邮件会高亮&#xff0c;然后输入A的时候系统就会知道提取名字了。 补充&#xff1a;如果第三个位置输入错误…

股票App开发第一步:如何免费快速的获取股票数据(如何免费获取金融数据)

文章目录 🌱 入坑指南:Python 如何免费获取股市数据!🌴 演示环境 🌴📒 Python 炒股数据,免费午餐,快来尝尝!📒💡 全面又亲民:数据界的“瑞士军刀”!🕰️ 专注历史:老股民的“时光机”!🌟 真正免费:开源社区的“宝藏”!🎣 实在不行,咱就自己捞!⚠…

联核防爆无人叉车:高危环境中的安全搬运守护者

联核防爆AGV无人叉车是专为易燃易爆环境设计的智能搬运设备&#xff0c;其特点、功能与应用场景均围绕“安全”与“智能”核心展开&#xff1a;联核科技官网-AGV叉车十大品牌-无人叉车厂家-自动化叉车-智能搬运码垛机器人-智能叉车系统解决方案专家 一、核心特点 防爆设计电气…

6、进程理论和简单进程创建

一、了解进程推荐看这个视频&#xff0c;很详细 1、概念 进程(Process)程序的运行过程&#xff0c;是系统进行资源分配和调度的独立单元程序的运行过程&#xff1a;多个不同程序 并发&#xff0c;同一个程序同时执行多个任务。 就需要很多资源来实现这个过程。 每个进程都有一…

Java通信

Trae - AI 原生 IDE目录 同步代码块 ​编辑 同步方法​编辑​编辑 二者对比 ​编辑 lock对象 通信 cs架构​编辑​编辑​编辑 mac地址&#xff0c;物理地址​编辑 取地址​编辑 127 0 0 1和IP 127.0.0.1和ipconfig获得的IP地址是什么关系 。127.0.0.1 和通过 ipcon…

K8S学习之基础五十八:部署nexus服务

部署nexus服务 Nexus服务器是一个代码包管理的服务器&#xff0c;可以理解 Nexus 服务器是一个巨大的 Library 仓库。Nexus 可以支持管理的工具包括 Maven &#xff0c; npm 等&#xff0c;对于 JAVA 开发来说&#xff0c;只要用到 Maven 管理就可以了。Nexus服务器作用&#x…

hackmyvm-reversteg

arp-scan -l nmap -sS -v 192.168.222.45 在源码中可以看到 根据下面的提示可以猜测117db0148dc179a2c2245c5a30e63ab0是一个图像文件 将图片下载到本地 隐写术 在两张图片上使用strings,发现有一些可打印的字符串 strings 117db0148dc179a2c2245c5a30e63ab0.jpg base64解码…

通过国内源在Ubuntu20.0.4安装repo

国内三大免费源&#xff1a; 清华大学&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror中国科技大学&#xff1a;USTC Open Source Software Mirror阿里云&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 repo只在清华源网站里搜到&#xff1a;…