Talk is cheap

SBT中执行指定类的main方法

在Eclipse中写Java程序时,有个很方便的功能: 可以直接run 某个类中的 main 方法,在执行一些小的测试,或者内嵌的一些程序时,非常方便。

但是在学习scala时候,如何能够直接运行sbt项目中的main方法(或者实现App的特质)呢?

首先想到的是在Scala的REPL中使用命令 scala myscalafil 这种方法没有问题,程序能够正常运行。

但是当文件中引用第三方包时, 就会有错误,无法正确的加载依赖。

Scala的命令行不行,就只能想到用sbt的命令来试试了, 毕竟sbt能够管理项目的依赖,Google了一下,可通过sbt的命令行来实现,首先通过sbt 在项目的根目录下进入 sbt的命令行,再执行如下命令

runMain com.test.myclass

也有说 runMainrun-main 命令等效的,但是在sbt1.3.9 下,run-main命令无法使用

另外一种方法 可以在build.sbt 的工程目录中 配置多个 main方法, 这样在 使用run 命令时,能够自动的列出所以的main方法,选择执行即可。还可以传递额外的参数。

参考 【scala cook book】 18.9 Specifying a Main Class to Run

未经允许不得转载:CheapTalk » SBT中执行指定类的main方法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!