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

本贴最后更新于 1638 天前,其中的信息可能已经时移世异

报错

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

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

  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Mars9527

    多谢楼主,幸亏看了你的帖子,要不然我还得重装系统或者安装 Python