maven перезапускается с -feature при компиляции scala

Недавно я заметил предупреждения компилятора Scala, которые генерировал maven, которые выглядели так:

[ВНИМАНИЕ] предупреждение: было 4 предупреждения об устаревании; повторно запустить с -deprecation для деталей

[ПРЕДУПРЕЖДЕНИЕ] предупреждение: было 3 предупреждения о функциях; повторно запустить с -feature для деталей

[ВНИМАНИЕ] найдено два предупреждения

Мне не сразу стало ясно, как следовать инструкциям предупреждения, чтобы я мог получить подробную информацию о том, как изменить свой код.


person Philip O.    schedule 18.03.2014    source источник


Ответы (2)


Просто чтобы было понятнее из ответа Филиппа (как указано на странице плагина), добавьте в файл pom.xml следующее:

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

Оказывается, эти две инструкции исходят от компилятора Scala, поэтому то, что должно произойти под прикрытием, это чтобы scalac вызывался с -deprecation или -feature, как описано здесь:

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=-устаревшая mvn clean compile -DaddScalacArgs=-функция

person Philip O.    schedule 18.03.2014
comment
Вероятно, вам следует добавить их в файл pom в качестве постоянной конфигурации плагина. - person Manfred Moser; 19.03.2014