12

私たちはいくつかの古い Java プロジェクトに取り組んでいます。コードには多くの警告がありますが、新しい警告を導入することは避けたいです。Maven、Bambooでそれを行う方法はありますか。竹(企業)に新しいプラグインをインストールする権利がないため、maven ソリューションが優先されます。

4

4 に答える 4

1

まあ、これを行うことができるプラグインがないことに同意しますが、Java 1.7 を使用すると簡単な手順でこれを行うことができます。

コンパイル時にプロセッサを使用してコードをコンパイルし、生成された警告をログ ファイルに保持します。ビルドをトリガーするたびにこれが開始され、古いログ ファイルと新しいログ ファイルを比較できます。

注: jdk 1.6 および 1.5 では、同じ目的で APT ツールを使用できます。

于 2013-01-03T09:42:07.110 に答える
0

ここで重要なのは「新しい」です。重大度や発生元に関係なく、ビルドログで新しい警告
を探しています。

そのためには、現在の一連の警告の「スナップショット」を用意する必要があります。

  • すべての警告とともに、「良好な」ビルドの出力のコピーを取ります。

  • 新しいビルドが完了するたびに(失敗しなかったと仮定して)、新しいログを保存されたログと比較します。
    ログに変更があった場合は、新しい警告が表示されます。

乾杯

于 2012-12-25T15:07:50.150 に答える
0

checkstyleタスクを使用できます。レポートの生成が完了したら、xslt を使用して警告の数を抽出できます (レポートが xml の場合、他のレポート形式も利用できると思います)。

次に、ant タスクを使用して、現在のビルドの警告の数と許容可能な警告の数を比較できます (ファンシーにしたい場合は、どこかにハードコードされた数値であるか、以前のビルドのアーティファクトから取得した数値である可能性があります)。

于 2013-01-03T10:06:29.917 に答える
0

Eclipse を使用している場合は、注釈 (@IgnoreWarnings) を追加して、既存の警告を無視できます。ただし、警告が表示されているすべての場所でソースを変更する必要があります。

PMD (http://pmd.sourceforge.net/) や findbugs (http://findbugs.sourceforge.net/) を使用した、よりスマートなソリューションがあるかもしれません。多くの環境のプラグインとして利用できます。

変更するクラスにあるすべての警告を修正することもできます。もちろん、これはすべての開発者がそれを行う傾向があることを意味します...

于 2012-10-10T13:09:36.593 に答える