当我运行测试时,我得到错误“命令行太长”。 如果我在运行/调试配置中将“缩短命令行”方法设置为特定方法或类的“JAR清单”,它就可以工作,但我如何为整个项目设置它,或者有IDE全局设置吗?


当前回答

如果您使用JDK版本从9+,您应该选择

执行>编辑配置…>选择JUnit模板。

然后,选择如下图所示的@argfile (Java 9+)。

如果您没有看到“缩短”命令行,那么只需单击如下所示的“修改选项”菜单,然后选择“缩短”命令行

请试试。朋友们,祝你们好运。

其他回答

在。idea文件夹中,更改workspace.xml文件

Add

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

to

  <component name="PropertiesComponent">
.
.
.
  </component>

例子

 <component name="PropertiesComponent">
    <property name="project.structure.last.edited" value="Project" />
    <property name="project.structure.proportion" value="0.0" />
    <property name="project.structure.side.proportion" value="0.0" />
    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
    <property name="dynamic.classpath" value="true" />
  </component>

如果您没有看到,请自行添加

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

社区编辑:这个解决方案似乎在新版本的IDE中不起作用,PropertiesComponent的格式现在不同了。如果这是你的情况,那么这个答案应该有用

智能 2018.2.5

Run => Edit Configurations =>选择左边的Node => expand Environment => Shorten Command line options =>选择Classpath file or JAR manifest

坚持:

打开Intellj ctrl + shift + n 类型workspace.xml 查找组件名称="PropertiesComponent"标签 A)如果有属性列表,添加

<属性名= "动态。类路径" value="true" />

b)如果有keyToString json,在map中添加新行:

“dynamic.classpath&quot:“true&quot; (记住上面一行的逗号)

(可选)如果你想在另一个项目中也启用这个配置,重启intellj

在我的例子中,错误是:

Error running 'MasterFileGenerator':
Command line is too long. Shorten command line for StagingFileGenerator or also for Application default configuration.

解决方案是切换到“运行/调试配置”,并从用户本地默认:none - java [options] className [args]切换到JAR manifest - java -cp classpath.jar className [args]。

您可以设置一种默认方式来缩短命令行,并通过更改默认的JUnit Run/Debug Configuration模板将其用作进一步配置的模板。然后,您在项目中创建的所有新的运行/调试配置将使用相同的选项。

这是一篇关于可配置命令行缩短选项的相关博文。