【问题标题】:Cannot run program, error=7, Argument list too long无法运行程序,错误=7,参数列表太长
【发布时间】:2015-10-30 20:29:35
【问题描述】:

我在 intellij 中运行单元测试时遇到错误。以下是错误信息。

错误

运行 CLASS_NAME.TEST_METHOD_NAME 时出错:无法运行程序 “JAVA_PATH/bin/java”(在目录“WORKSPACE_PATH”中):错误=7, 参数列表太长

以下是我在 SO 上找到的分辨率 -

将dynamic.classpath(workspace.xml 中的属性)设置为true。

负面影响 -

但由于上述解决方案,其他单元测试现在失败了。

原因 - 它没有加载其他依赖模块类路径。

这些是与此问题相关的链接 - link1、link2

如果有人对此有任何解决方案/解决方法,请帮助我。

【问题讨论】:

  • 任何人,请帮忙。
  • 以前,我在 RHEL OS 上工作,在那里我遇到了这个问题。现在,我在 Ubuntu 机器上设置了整个代码库。它现在工作正常。可能是因为某些操作系统特定的原因,可能是它有更大的文件来存储类路径。不管它是什么,它对我来说都很好。 :)
  • 请参阅此问题的已接受答案stackoverflow.com/questions/14725307/…
  • 设置 dynamic.classpath 对我不起作用。
  • 设置 dynamic.classpath 对我不起作用。看来我对 workspace.xml 的更改并没有立即反映出来。我该怎么办?

标签: java intellij-idea jvm java-8 intellij-14


【解决方案1】:

https://blog.jetbrains.com/idea/2017/10/intellij-idea-2017-3-eap-configurable-command-line-shortener-and-more/

看起来在 intellij 的现代变体中,您可以选择将您的路径放入文件或类似文件中,这可以防止您的路径扩展至疯狂的长度。

因此,将“shorten command line”参数更改为 JAR Manifest 应该可以解决问题。

【讨论】:

  • 将设置更改为 JAR Manifest 对我有用
  • 对“为什么我的测试不再工作”感到恐慌的人可以尝试在名为“缩短命令行”的下拉菜单中编辑他们的测试运行配置。这就是 JAR Manifest 选项的来源。
【解决方案2】:

转到运行 -> 编辑配置... -> 将 Shorten Command Line 更改为 JAR manifest。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多