【问题标题】:maven "rerun with -feature" when compiling scalamaven在编译scala时“使用-feature重新运行”
【发布时间】:2014-03-18 23:46:37
【问题描述】:

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

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

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

[WARNING] 发现两个警告

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

【问题讨论】:

    标签: maven-3 compiler-warnings scalac scala-maven-plugin


    【解决方案1】:

    为了让 Philip 的回答更清楚(指定 on the plugin page),请将以下内容添加到您的 pom.xml 文件中:

    <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        ...
        <configuration>
            <args>
                <arg>-deprecation</arg>
                <arg>-feature</arg>
            </args>
        </configuration>
    </plugin>
    

    【讨论】:

      【解决方案2】:

      事实证明,这两条指令来自 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

      【讨论】:

      • 您可能应该将这些作为插件的配置永久添加到 pom 文件中。
      猜你喜欢
      • 1970-01-01
      • 2012-04-15
      • 2010-11-24
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      相关资源
      最近更新 更多