【问题标题】:IDEA 10.5 Command line is too longIDEA 10.5 命令行太长
【发布时间】:2011-09-16 21:29:54
【问题描述】:

在 Maven 项目中运行测试用例时(在 Windows 上):

运行 TestApp.readParameter 时出错:命令行太长。在 为了减少它的长度可以使用classpath文件。你愿意吗 为您的所有运行配置启用类路径文件模式 项目?启用

设置.iws

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

如何解决这个问题?

【问题讨论】:

标签: java intellij-idea testng classpath


【解决方案1】:

在 Intellij 中,转到“编辑配置”(运行 -> 编辑配置),在“缩短命令行”行中出现的配置选项卡中选择选项“类路径文件”/“@argFiles (Java 9+) ",下拉菜单中的最后一个选项。帮我修好了。

【讨论】:

  • 如果一个人使用相同的设置创建了一个全局 junit 配置,那么就没有必要为所有正在运行的单个测试配置进行此设置!
  • 要从 Intellij 顶部菜单访问它,请使用“运行 => 编辑配置”
  • 这在最后一个 Idea 2020.3 上似乎不再可用
  • 我正在运行 IntelliJ IDEA Ultimate 2020.3。此选项可用(并为我解决了问题)。
  • 如果你没有看到“Shorten command line”选项,点击“Modify Options”并勾选“Shorten command line”
【解决方案2】:

在运行/调试配置中设置Shorten command line:JAR manifest 可以解决该问题。

【讨论】:

  • 如果您在菜单中没有看到此选项,请按“修改选项 v Alt+M”下拉菜单并选中“缩短命令行”选项以显示它(IDE​​A CE 2020.3)。
【解决方案3】:

从您的项目根文件夹中打开文件 .idea/workspace.xml 文件,转到部分

<component name="PropertiesComponent">

并添加以下内容:

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

【讨论】:

  • 感谢您提供详细信息,这确实有效,并在 intellij 中尝试并测试了一些错误,我想没有正确选择这会有所帮助。
【解决方案4】:

在 Intelij 社区 2021.1 窗口上执行此操作,运行良好 :)

  1. 在编辑配置菜单上,点击修改选项

  1. 然后选择缩短命令行

  1. 选择 JAR 清单选项,应用并运行

【讨论】:

    【解决方案5】:

    见What does the dynamic.classpath flag do? (IntelliJ project settings)。

    不确定您要修复什么。如果您需要避免动态类路径,请修改您的依赖关系,将库、项目文件和 JDK 移动到具有短路径的目录。

    编辑:您在 cmets 中链接的错误是有道理的,但是即使使用动态类路径,运行测试时的命令行也会超出操作系统限制。这可能是因为许多命令行参数或选项不能被 IDEA 缩短,因为 IDEA 只能解决长类路径问题。我们对此无能为力,您应该修改将参数传递给应用程序的方式,以使命令行长度在限制范围内。

    在 IDEA 方面,我们将改进对此类案件的处理。当已经使用动态类路径时,将不再显示此对话框,并且您将收到另一条关于长命令行的错误消息。我已经submitted a new issue 处理这种情况。

    【讨论】:

    • 我看到了。当我设置dynamic.classpath=true时,命令行仍然太长
    • 在这种情况下,这是一个应该在youtrack.jetbrains.net/issues/IDEA 报告的错误。
    • 现在您可以在默认的 JUnit 配置下将“Shorten command line”设置为“JAR manifest”。
    • 我在 Linux 中没有看到这个(或者它可能与 Java 9 有关)。但是我没有开始对项目进行重构。更准确地说,我不允许。您还有其他建议吗?
    【解决方案6】:

    答案中提到的选项在我使用的版本 2020.2 中不可用。我点击了消息中显示的“启用”链接,这为我解决了这个问题。

    【讨论】:

      【解决方案7】:

      在我的情况下,修复是更新Run/Debug Configurations 并在Shorten command line 中选择下一个选项classpath file。

      【讨论】:

        【解决方案8】:

        这是使用 Intelli J 的。我按照以下步骤操作,并且能够运行我的测试。

        1. 转到编辑器顶部菜单的编辑配置。
        2. 在 JUnits 下 => 点击修改选项。
        3. 在 java 下 => 选择“Shorten Command” => 选择“JAR Manifest” 选项。

        它解决了我。

        【讨论】:

          【解决方案9】:

          我为这个错误苦苦挣扎了很长时间,其他答案都没有帮助。

          解决问题的方法是将以下行添加到 Gradle 中的 pitest 配置中:

          useClasspathFile = true

          所以现在build.gradle 文件有这样一个条目:

           pitest {
              threads = 4
          
              //adds dependency to org.pitest:pitest-junit5-plugin and sets "testPlugin" to "junit5"
              junit5PluginVersion = '0.12'
          
              useClasspathFile = true    <------------------------------
          
              targetClasses = ["com.example.service.*"]
          
              if (project.name in ['no-need-to-mutate-module']) {
                  failWhenNoMutations = false
              }
          }
          

          这是帮助我的link to the post。

          【讨论】:

            【解决方案10】:

            我在使用社区版本时遇到了这个问题。 我通过使用 Maven 配置运行项目来解决问题。

            spring-boot:run -Dspring.profiles.active=local
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2018-11-25
              • 1970-01-01
              • 1970-01-01
              • 2017-08-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多