IDEA 10.5命令行太长

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

运行 TestApp.readParameter 时出错: 命令行太长 以减少其长度的类路径文件可以使用 为您的所有运行配置启用类路径文件模式 项目? 启动

准备好了

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

怎么才能解决这个问题?

188146 次浏览

参见 Classspath 标志做什么? (IntelliJ 项目设置)

不知道你想修什么。如果您需要避免动态类路径,请修改您的依赖项,将库、项目文件和 JDK 移动到具有短路径的目录中。

编辑 : 您在注释中链接的 bug 是有意义的,但是,当运行测试时,命令行超出了操作系统的限制,即使使用动态类路径也是如此。这可能是因为许多命令行参数或选项不能被 IDEA 缩短,因为 IDEA 只能解决长类路径问题。我们对此无能为力,您应该修改向应用程序传递参数的方式,使命令行长度在限制之内。

在 IDEA 方面,我们将加强对这类案件的处理。当已经使用动态类路径时,将不再显示此对话框,并且您将得到关于长命令行的另一个错误消息。这个案子我有 提交了一本新书

在 Intellij,进入“编辑配置”(运行-> 编辑配置) ,在“缩短命令行”行的配置选项卡中,选择“ classspath file”/“@argFiles (Java 9 +)”,下拉菜单的最后一个选项。帮我修好了。

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

enter image description here

从项目根文件夹打开文件 . idea/workspace.xml,转到节

<component name="PropertiesComponent">

并加入以下内容:

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

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

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

Intellij Maven Configuration

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

在我的情况下,修正是更新 Run/Debug Configurations,并在 Shorten command line中选择下一个选项 classpath fileenter image description here

在 Intelij 社区2021.1窗口上做了这个,运行良好:)

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

  1. 然后选择 Shorten 命令行

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

enter image description here

这是与智力 J 我遵循下面的步骤,我能够运行我的测试。

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

它解决了我。

我为这个错误纠结了很长时间,其他的答案都没有帮助。

解决这个问题的方法是在 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
}
}

这是帮助我的 链接到邮局

我也遇到了这个问题,解决方法是在注意到类路径上有很多测试依赖项之后添加 skipTest 标志;

mvnw.cmd -DskipTests=true package

enter image description here

我将 Shorten 命令行设置为 none = > JAR mainfest, 希望有用