7

我最近注意到 Maven 生成的 Scala 编译器警告如下所示:

[WARNING] 警告:有 4 个弃用警告;使用 -deprecation 重新运行以获取详细信息

[WARNING] 警告:有 3 个功能警告;使用 -feature 重新运行以获取详细信息

[WARNING] 发现两个警告

我并没有立即明白如何遵循警告的说明,因此我可以获得有关如何更改代码的详细信息。

4

2 回答 2

15

为了让 Philip 的回答更清楚(如插件页面中指定的那样),请将以下内容添加到您的 pom.xml 文件中:

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    ...
    <configuration>
        <args>
            <arg>-deprecation</arg>
            <arg>-feature</arg>
        </args>
    </configuration>
</plugin>
于 2014-09-16T19:56:26.297 回答
7

事实证明,这两条指令来自 Scala 编译器,因此需要在幕后发生的事情是使用 -deprecation 或 -feature 调用 scalac,如下所述:

http://www.scala-lang.org/files/archive/nightly/docs-2.10.3/manual/html/scalac.html

(实际上我从未在任何地方看到解释过 -feature 选项,但我能够按如下方式指定它)

我正在使用 scala-maven-plugin 并使用此处描述的 scala:compile 进行编译:

http://davidb.github.io/scala-maven-plugin/compile-mojo.html

相关参数描述如下:

http://davidb.github.io/scala-maven-plugin/compile-mojo.html#addScalacArgs

因此,我发现有两个有用的 Maven 命令是:

mvn clean compile -DaddScalacArgs=-deprecation mvn clean compile -DaddScalacArgs=-feature

于 2014-03-18T23:46:37.173 回答