当前位置: 首页 > 知识库问答 >
问题:

使用来自shell的CLI参数“sbt run”

吴弘壮
2023-03-14
$ sbt
[info] (...)
> run sth
(...)
[success] Total time: 0 s, completed Nov 9, 2012 3:04:47 PM
$ sbt "run sth"
[info] (...)
you need to provide source file name
[success] Total time: 0 s, completed Nov 9, 2012 3:07:07 PM
[error] Not a valid command: sth (similar: set, last, shell)
[error] Expected '/'
[error] Expected ':'
[error] Not a valid key: sth (similar: test, state, watch)
[error] sth
[error]    ^

我的scala项目给出了“您需要提供源文件名”信息,以表明main没有获得任何CLI参数。

它是在sbt的前一个版本中有效的(在引用的问题中),还是我做错了什么?

共有1个答案

夹谷星河
2023-03-14

问题可能是将SBT启动文件中的参数传递给Java的方式。在我的情况下是:

java -Xmx4096M -jar `dirname $0`/sbt-launch_0.12.1.jar "$@"

我刚刚确认:它对0.12和0.12.1都有效。例如,对于一个只打印参数的程序,我得到:

$ sbt "run-main SomeMain blah blah"
Outut:
[blah, blah]

通过使用run-main,还可以避免sbt以某种方式看不到主函数的可能性。

 类似资料:
  • 1. Shell 参数概述 在 Shell 脚本编写中,我们为了使得程序灵活和无状态,有些变量我们不便于在脚本中写死,需要运用外部参数传递进去,每次传递的东西不一样,得到的结果也不尽相同,参数是与变量相辅相成的,将参数传递进 Shell 脚本中,也就成了变量,参数的使用使得我们的脚本更加的灵活和可扩展,同样也更易维护。 1.1 Shell 参数是什么 Shell 参数是我们在脚本文件外部传入的一系

  • 本文向大家介绍shell 使用数组作为函数参数的方法(详解),包括了shell 使用数组作为函数参数的方法(详解)的使用技巧和注意事项,需要的朋友参考一下 因工作需要,需要使用shell开发一些小工具,当使用数组作为函数参数时,发现只能传递数组的第一个元素,数组后面的元素不能传递到函数内。 把代码保存为test.sh后执行,只输出了第一个元素。 $1表示获取函数的第一个参数,而函数的第一个参数就是

  • 我是新的RabbitMQ,我有点迷失在留档。 目前,例如,我正在尝试构建一个侦听队列的小型邮件服务,但我有点卡在我应该在哪里放置我的服务具有的参数(目的地、主题...... 我应该将它们放在某种编码格式(json)中,放在我的消息中,还是应该使用头结构,如下例所示: 使用标头是否提供额外的好处?例如,是否可以过滤发送到特定目的地的消息?

  • 在kotlin函数返回之前放置语句会崩溃。StackTrace: 去掉冒犯行,一个成功的输出: Java: 可能我只是没有正确地打印到控制台。

  • 我正在使用JWT和spring security来处理RESTAPIendpoint的授权。在以下示例中,endpoint提供有关用户的信息。假设我只希望管理员用户能够获得所有用户的详细信息,任何其他用户都应该只获得其帐户详细信息。有谁能想出一种更具声明性的方法来使用注释或AOP实现与以下代码等效的代码吗。

  • $* 与 $@ 区别 相同点:都是引用所有参数。 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 “ * “ 等价于 “1 2 3”(传递了1个参数),而 “@” 等价于 “1” “2” “3”(传递了3个参数)。 # !/bin/bash # author:Asa echo "-- \$* 演示 ---" for i in "$*"; do echo $i