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


当前回答

感谢Rajesh Goel在Android Studio的贡献:

执行>编辑配置…

选择一个测试(最好选择一个父测试类),并将Shorten命令行:选项设置为类路径文件。然后OK(或Apply, OK)。

其他回答

在。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的格式现在不同了。如果这是你的情况,那么这个答案应该有用

在我的例子中,错误是:

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]。

坚持:

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

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

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

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

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

遵循这些步骤并选择“classpath”。从“缩短”命令行类别中给出的下拉列表中选择“文件”。

最新的2020版本默认没有缩短命令行选项,我们需要从配置中添加该选项。

执行> Edit Configurations >选择相应的运行配置,单击“Modify options”,将缩短命令行配置添加到界面中。

选择shorten命令行选项

现在从shorten命令行选项中选择jar清单