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

问题描述 投票:1回答:1

当我尝试运行我的应用程序时,IntelliJ刚刚开始告诉我

“命令行太长。缩短my_app的命令行或者缩短应用程序默认配置的命令行。”

my_app是一个蓝色链接,它会导致“编辑配置”窗口,自动选择并突出显示类路径缩短器的下拉列表。我选择了建议的选项,但没有变化。

我不知道这意味着什么 - 我正在使用Scala,所以我使用的是一个简单的object MyObj extends App,根本不需要任何参数。

我尝试将<property name="dynamic.classpath" value="true" />添加到workspace.xml中,如其他类似问题所示,但无济于事。

我曾经能够在我的项目中运行我的程序。但是什么延长了命令行?什么被放在命令行上?

scala intellij-idea sbt
1个回答
1
投票

找到修复程序,这是SBT特定的。我相信正在发生的事情是,libaryDependencies放入他们的build.sbt文件实际上将这些依赖项的所有jar添加到用于运行程序的类路径中。

要解决此问题,只需添加即可

lazy val scriptClasspath = Seq("*")lazy可能是可选的)

到您的build.sbt文件。我把它放在root val上面,带有库依赖项。不确定是否有必要,但如果遇到麻烦则转移它

这样做,就是在运行程序时,SBT会将这些jar构建的“long”类路径压缩到自己的jar中,然后运行该jar,这将启动所有依赖项和程序。

检查this进行更长时间的演示,以及其他答案

© www.soinside.com 2019 - 2024. All rights reserved.