openshell 的个人博客 openshell 的个人博客

一天很长,但十年很短。

目录
项目启动报错:Process finished with exit code -1073740940 (0xC0000374)
/    

项目启动报错:Process finished with exit code -1073740940 (0xC0000374)

报错

有一天公司几个同事项目启动全部报错:

Process finished with exit code -1073740940 (0xC0000374)

据说他们啥方法都试过了,甚至系统都重装了,还是报错。

后头我项目也出现这玩意了,我去网上搜了一圈,大致是这些方法:

  • 通过安装python3.5.4可以解决了
  • 系统更新还原
  • 更改Windows区域语言设置:https://jalena.bcsytv.com/archives/2278
    同事反馈这些方法都试过,没有解决。我们这几个项目压根没用Python,所以这些也都不可能。

解决方案

后面想到会不会是项目启动命令造成的,于是去改了下IDEA配置:
bug.png
jre选择1.8,然后short command line设置为classpath file

总结

总的来说可以根据启动命令解决,先看看short command line的解释。
【官方文档】:IntelliJ IDEA 2017.3 EAP: Configurable command line shortener and more

如果类路径太长,或者有许多VM参数,程序就无法启动。原因是大多数操作系统都有命令行长度限制。在这种情况下,IntelliJIDEA将试图缩短类路径。

shorten command line 选项提供三种选项缩短类路径。
none:这是默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。
JAR manifest:idea 通过临时的classpath.jar传递长的类路径。原始类路径在MANIFEST.MF中定义为classpath.jar中的类路径属性。
classpath file:idea 将一个长类路径写入文本文件中。

为此我去IDEA中把noneclasspath file模式下的命令分别复制出来,发现none命令长达两万多个字,而classpath file命令只有六百多个字。
所以道理大概就是由于操作系统或者什么地方配置的限制,命令行过长了是不行的,使用classpath file将冗长的命令用文件形式追加就行了。
classpath file下关键命令:

-classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\Administrator\AppData\Local\Temp\idea_classpath147164221 

参考文章:https://blog.csdn.net/qq_37916752/article/details/99985358


标题:项目启动报错:Process finished with exit code -1073740940 (0xC0000374)
作者:openshell
地址:http://blog.caiqz.cn/articles/2020/05/28/1590659620712.html