error: command line is too long

如果类路径太长,或者有许多VM参数,程序就无法启动。原因是大多数操作系统都有命令行长度限制。在这种情况下,IntelliJIDEA将试图缩短类路径。

  shorten command line 选项提供三种选项缩短类路径。

  •        none:这是默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。
  •   JAR manifest:idea 通过临时的classpath.jar传递长的类路径。原始类路径在MANIFEST.MF中定义为classpath.jar中的类路径属性。
  •   classpath file:idea 将一个长类路径写入文本文件中。

user-local default:none   旧版属性。对于在此EAP之前创建的项目,将自动设置此选项。

 

可配置的命令行缩短器

如果类路径太长,或者您有许多VM参数,则无法启动该程序。原因是大多数操作系统都有命令行长度限制。在这种情况下,IntelliJ IDEA将尝试缩短类路径。

有几种方法可以缩短类路径。最初,IntelliJ IDEA尝试将长类路径写入文本文件(这意味着应用程序是中间类加载器)。但是不幸的是,这不适用于某些框架,例如JMock。然后,IntelliJ IDEA尝试使用或多或少的标准方法,即将长类路径打包到classpath.jar中。不幸的是,对于其他一些框架,这也不起作用。

而且,可悲的是,没有办法预测哪种缩短将适用于用户应用程序。因此,用户不得不做出此决定。对于Application,JUnit和TestNG配置,2017.3 EAP提供了一种配置缩短器的方法。

从此EAP开始,不再需要通过XML文件来编辑IDE的设置。

IntelliJ IDEA 2017.3 EAP构建为每种配置提供了一种方便的方法来指定缩短命令行的方法。

在“运行/调试配置”对话框中,出现一个新字段:缩短命令行。新字段允许您从下拉列表中选择IDE缩短命令行的方式:

无:这是默认选项。IDE不会缩短长类路径。如果命令行超出了操作系统限制,则IDEA将无法运行您的应用程序,但是工具提示将建议配置缩短器。

JAR清单: IDE通过临时classpath.jar传递长类路径。原始类路径在MANIFEST.MF中定义为classpath.jar中的类路径属性。

classpath文件: IDE将把长的类路径写入文本文件。

本地用户默认设置:旧版属性。对于在此EAP之前创建的项目,将自动设置此选项。IDE将配置此设置,具体取决于在idea / workspace.xml文件,属性:“ dynamic.classpath”和idea.config.path / options / options.xml文件,属性:“ idea”中设置的属性的值。 dynamic.classpath.jar”。
因此,您将拥有User-local默认值:none-如果之前未为classpath缩短器指定任何内容,User-local默认值:JAR Manifest-如果您的设置通过classpath指定了缩短器,而User-local default:classpath文件: -如果您设置通过文本文件指定了缩短器。

您可以设置默认方式来缩短命令行,并将其用作进一步配置的模板。IntelliJ IDEA 2017.3使您可以与同事共享您的配置,因此,即使在不同的操作系统上,所有团队成员对于应用程序/测试也将具有相同的行为。唯一的例外是用户本地默认参数:如果共享配置本身,则不会共享此参数。如果您希望团队具有相同的经验,建议明确设置此选项。

到目前为止,当IDE通过classpath.jar缩短类路径时,您只会看到临时jar的类路径:-classpath C:\ Users \ jetbrains \ AppData \ Local \ Temp \ classpath.jar。

在新的IntelliJ IDEA 2017.3 EAP中,如果通过classpath.jar(“运行/调试配置”对话框中的“ JAR清单”选项)缩短了较长的类路径,则可以预览完整的命令行。 

官方文档地址:https://blog.jetbrains.com/idea/2017/10/intellij-idea-2017-3-eap-configurable-command-line-shortener-and-more/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值