11

我目前正在给 IntelliJ Scala 插件一个旋转,有一件事让我有点烦恼。编译时收到 3 个警告。

Warning: scala: Recompiling 4 files
Warning: scala:
Warning: scala: there were 1 deprecation warnings; re-run with -deprecation for details

为什么它会警告我正在重新编译文件?可以关掉吗?最后,空警告是怎么回事?:D

4

3 回答 3

24

在 IntelliJ 14 中:

  1. 调出偏好Intellij IDEA > Preferencescmd + ,
  2. 抬头看Scala Compiler。或者,它在Build, Execution, Deployment > Compiler > Scala Compiler
  3. 检查选项Deprecation warnings

重建你的项目!

启用弃用标志的首选项屏幕截图。

于 2015-01-13T22:29:14.037 回答
7

关于 IntelliJ IDEa 报告的警告和错误,我想补充几句。

JetBrains 使用它自己的 scala 分析器来识别和报告错误。有时它会报告虚假的错误或警告。我认为这是因为从编译器的角度来看,scala 是一种比许多其他语言复杂得多的语言。即使实现了所有官方 scala 规范,也有一些情况被省略(阅读:总是有一些错误)。如果您发现 IntelliJ IDEa 报告的错误/警告对于 scalac 编译器来说是可以的,您可以随时尝试将其报告为错误(IntelliJ IDEa 支持报告错误)。JetBrains 的人会修复它。

更多的 scala 库使用作为编译器扩展的宏,这增加了一些额外的编译器行为。如果 IDE 确实知道他们的规范,它不会将这些非标准代码识别为错误。最好意识到这一点。我认为同样涉及 Eclipse Scala IDE。

总结以上所有内容: 不要相信 IntelliJ 或其他 IDE 告诉您的所有警告和错误,除非它使用scalac编译得很好。

于 2013-10-25T11:34:47.830 回答
5

JVM 参数不是编译器参数——首先用于实际运行您的代码,然后用于将其编译为字节码。您需要在那里打开项目设置并调整选项:

在此处输入图像描述

于 2013-10-25T10:19:59.417 回答