5

私が開発するプログラムの出発点として使用する sbt プロジェクト スケルトンを作成しました。

しばらくの間、このスケルトンで新しいプロジェクトを開始すると、2 つの非推奨警告が表示されるという問題がありました。スケルトンはソース ファイルで構成されていません。たとえそうであったとしても、私の build.sbt は、プロジェクト ソースで非推奨のコードを記述するときに正常に機能する scalac オプション「-deprecation」を保持しています。

警告自体は次のようになります。

[情報] 1 つの Scala ソースを /xxx/.../xxx/.sbt/staging/xxx/target/scala-2.9.2/sbt-0.12/classes にコンパイルしています...
[警告] 1 つの非推奨警告がありました。詳細については、-deprecation で再実行してください
[warn] one warning found
[info] Compiling 1 Scala source to /xxx/.../xxx/project/target/scala-2.9.2/sbt-0.12/classes...
[警告] 非推奨の警告が 1 件ありました。詳細については、-deprecation を指定して再実行してください
[warn] 1 つの警告が見つかりました

最初の警告の理由は非推奨の .sbt-folder の問題のようですが (したがって、この警告自体は私のフレームワーク内では大きな問題ではないようです)、2 番目の警告について少し混乱しています。 「-deprecation」オプションを使用して sbt 自体を起動する方法を知っている人がいないか尋ねてください。

korefnが示唆したように、これは重複ではないことを明確にし、強調するために:

scalacOptions ++= Seq( "-unchecked", "-deprecation" )

はすでに内部にあり、警告は sbt がスケルトンに初めて適用されたときにのみ発生します。その後、sbt は沈黙を守ります。

バグもありません。このオプションは、スケルトン内に保存するソース ファイルに対して正常に機能します。

4

2 に答える 2

6

わかりました。sbt-groupを通じて2つの解決策を受け取りました。これは他の人にとっても興味深いかもしれないので、共有したいと思います。

解決策1:sbtコンソールを介して...

  • プラグインをリロードする
  • set scalacOptions ++ = Seq( "-unchecked"、 "-deprecation")
  • セッション保存
  • リロードリターン

解決策2:プロジェクトディレクトリの下の.sbtファイルに「scalacOptions ++ = Seq( "-unchecked"、 "-deprecation")」という行を2回目に配置します。デフォルトはproject/plugins.sbtになります

備考:build.sbtの "scalacOptions ++ = Seq(" -unchecked "、" -deprecation ")"は、プロジェクトソースで警告をキャッチしますが、元の質問で述べたようにsbtプラグインなどではキャッチしません。

于 2013-02-02T12:32:24.687 に答える
-1

これは重複しています。ソリューションscala-sbt-how-to-re-run-with-deprecation またはhow-to-see-all-the-warnings-in-sbt-0-11 を確認してください

基本的にbuild.sbtに追加します:

scalacOptions ++= Seq("-unchecked", "-deprecation","-feature") //any other option
//you like
于 2013-02-01T11:30:30.770 に答える