当我尝试运行我的应用程序时,IntelliJ刚刚开始告诉我
"命令行太长。缩短my_app的命令行或者缩短应用程序默认配置的命令行。"
my_app
是一个蓝色链接,导致"编辑配置"窗口,自动选择并突出显示类路径缩短器的下拉列表。我选择了建议的选项,但没有变化。
我不知道这意味着什么 - 我使用的是Scala,因此我使用了一个简单的object MyObj extends App
,它根本不需要任何参数。
我已尝试按照其他类似问题的建议将<property name="dynamic.classpath" value="true" />
添加到workspace.xml,但无济于事。
我曾经能够在我的项目中运行我的程序。但是什么延长了命令行?什么被放在命令行上?
答案 0 :(得分:10)
此答案基于IntelliJ 2020.1.4
您还可以在下次自动生成测试时将其设置为默认值。
答案 1 :(得分:1)
找到修复程序,这是特定于SBT的。我相信正在发生的事情是libaryDependencies
放入他们的build.sbt文件实际上将这些依赖项的所有jar都添加到用于运行程序的类路径中。
要解决此问题,只需添加
即可 lazy val scriptClasspath = Seq("*")
(lazy
可以是可选的)
到你的build.sbt文件。我把它放在root
val之上,带有库依赖项。不确定是否有必要,但如果遇到麻烦则转移它
这样做是在运行程序时SBT会将这些jar构建的“long”类路径压缩到自己的jar中,然后运行该jar,这将启动所有依赖项和程序。
检查this以查看更长时间的演示以及其他答案
答案 2 :(得分:0)