IDEA 10.5 命令行太长

Posted

技术标签:

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

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

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

设置.iws

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

如何解决这个问题?

【问题讨论】:

这能回答你的问题吗? How to configure "Shorten command line" method for whole project in IntelliJ 【参考方案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 窗口上执行此操作,运行良好 :)

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

    然后选择缩短命令行

    选择 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 的。我按照以下步骤操作,并且能够运行我的测试。

    转到编辑器顶部菜单的编辑配置。 在 JUnits 下 => 点击修改选项。 在 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

【讨论】:

以上是关于IDEA 10.5 命令行太长的主要内容,如果未能解决你的问题,请参考以下文章

Linux:alias 起别名

在 linux 终端快捷方式中键入最后执行的消息

Intellij 10.8 命令行太长。缩短 Maven 中的命令行

IntelliJ:命令行太长。在 SBT 项目中缩短...的命令行

Kafka 输入行太长 命令语法不正确

IntelliJ:命令行太长。在SBT项目中缩短...的命令行