首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sbt中使用-deprecation重新运行以获取详细信息?

如何在sbt中使用-deprecation重新运行以获取详细信息?
EN

Stack Overflow用户
提问于 2012-03-06 13:46:32
回答 3查看 31.7K关注 0票数 179

当我通过运行sbt compile来编译Scala代码时,SBT说:

代码语言:javascript
复制
$ sbt compile
...
[warn] there were 5 deprecation warnings; re-run with -deprecation for details
...

我该怎么做?(从SBT内部?)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-06 14:11:26

sbt外壳

在sbt shell中(如果您不想更改build.sbt):

代码语言:javascript
复制
$ sbt
> set ThisBuild/scalacOptions ++= Seq("-unchecked", "-deprecation")
> compile
> exit

由于使用了in ThisBuildset也会将这些设置应用于所有子项目。

命令行

您还可以在命令行上将上述内容作为单个命令运行。

代码语言:javascript
复制
sbt '; set ThisBuild/scalacOptions ++= Seq("-unchecked", "-deprecation") ; compile' 

诀窍是使用; (分号)分隔命令,使用' (滴答)将所有;-separated命令作为单个参数包含到sbt中。

sbt < 1.x

使用scalacOptions in ThisBuild代替ThisBuild/scalacOptions

票数 227
EN

Stack Overflow用户

发布于 2016-07-06 01:37:39

代码语言:javascript
复制
scalacOptions := Seq("-unchecked", "-deprecation")

将此设置添加到build.sbt中,如果您有一个多模块项目,则将其添加到每个项目的设置中。

票数 27
EN

Stack Overflow用户

发布于 2016-09-14 03:07:56

随着时间的推移,出现了新的解决方案。因此,现在您可以重新运行scala编译器,而无需执行整个项目rebuild。

您需要安装ensime-sbt plugin

代码语言:javascript
复制
addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0")

之后,您可以使用ensimeCompileOnly任务来编译单个文件。SBT允许按任务进行设置配置,因此您只能针对该任务进行更改:

代码语言:javascript
复制
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9578521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档