2012-04-03 22 views
0

Eclipse IndigoプロジェクトでWekaというオープンソースのJavaライブラリを使用しています。ライブラリは少し古くなっているようですので、Eclipseはコードに関して何千もの警告を表示しています。典型的な例は次のとおりです。@SupressWarningsの使用を避けるにはどうすればよいですか?

ArrayListは生の型です。

ArrayList t = new ArrayList(); 

Eclipseのクイックフィックスは、私はジェネリックを使用するために上記のコードを変換したりすることをどちらか一方しかできないことを示している:ジェネリック型のArrayList < Eへの参照> は、このような線を基準に

パラメータ化する必要があります@SuppressWarnings 'rawtypes' 注釈を修正として追加することができます。

しかし、これらの修正の両方には、オープンソースプロジェクトのコードを変更する必要があり、これらの変更を数回(何百回も)繰り返す必要があります。

代わりに、特定のプロジェクトに対して警告したくないということを示すことができるEclipse(またはJavaコンパイラ)のグローバル設定がありますか?

+0

私はgoogleを使用すると、http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler% 2Fref-preferences-errors-warnings.htm –

+0

ブライアンに感謝します。私は、特定の警告メッセージについて特に気にしていないという事実を反映するために質問を編集しました。特定のプロジェクトについては、すべてを避けたいと思います。 – urig

答えて

1

Window> Preferencesで「警告」警告をオフにすることをお勧めしますが、独自のJava 1.5 +コードが含まれているプロジェクトを含め、ワークスペース内のすべてのプロジェクトに対して警告が表示されません。それは悪い考えです。あなたのコードに警告があった場合、警告に注意する必要があるからです。

また、プロジェクト設定を変更して、JavaコンパイラのソースレベルをJava 1.4以前に設定することも可能です(これを無視すると、予期しない実行時例外が発生する可能性があります)。 のみWekaプロジェクトでこれを行う必要があります。あなたのコードを含むプロジェクトは、ジェネリックスを使用していることを前提に、少なくともJava 1.5のソースレベルを使用する必要があります。


感謝。後でJRE 1.6を実行しているプロダクションサーバーにプロジェクトをデプロイするときに、この問題が発生することはありませんか? JRE 1.4をそこに置く必要はありませんか?

ありません...理由のカップルのために:

  • あなたはウェカを変更している場合を除き、あなたは、元のJARファイルを使用するとEclipseによって作成されたビルドの成果物を無視することができます。

  • ソースレベルとターゲットレベルが異なります。ソースレベルは、ソースコードがどのようなバージョンのJava言語に準拠しなければならないかを示します。ターゲットレベルでは、使用するクラスファイル形式のバージョンを指定します。 Java 1.4ソースコード用のJava 1.6バイトコード形式を生成するために、Javaコンパイラを入手できます。 (しかしその逆ではない)。

  • Java 1.6 JREはうまくJava 1.4 JARを実行します。また

、私はこれを行うのですか?プロジェクト>プロパティ> Javaコンパイラ>コンパイラ準拠レベルを意味しますか?

はい。ソースとターゲットのレベルを個別に指定できることに注意してください... Javaコンパイラが特定の組み合わせのみを許可するという制約をモジュロにしてください。

+0

+1、IDEの特定の警告をオフに切り替えるよりも優れたソリューションです。 – darrengorman

+0

ありがとうございます。後でJRE 1.6を実行しているプロダクションサーバーにプロジェクトをデプロイするときに、この問題が発生することはありませんか? JRE 1.4をそこに置く必要はありませんか? – urig

+0

また、どこでこれを行うのですか?プロジェクト>プロパティ> Javaコンパイラ>コンパイラ準拠レベルを意味しますか? – urig

1

ウィンドウ - >環境設定、Java->コンパイラ - >エラー/警告を試してください。私は、下部に "Generic types"セクションがあることを知っています。私はそれがあなたが探しているものなのかどうかはわかりませんが、私の経験から、これは特定のEclipseの警告を無視するのに適しています。

+0

+1しかし私の経験からは、より多くの警告を発するのに良い場所です。 –

+0

ありがとうございます。間違いなくオプション。もちろん、「プロジェクト固有の設定を構成...」をクリックして、作業するWekaプロジェクトを選択する必要があります。しかし、欠点は、さまざまな警告タイプの長いリストを調べて、無視するように設定する必要があることです。しかし、面倒です。 – urig

1

Eclipseでは、ウィンドウ - >環境設定 - > Java->コンパイラ - >エラー/警告 - >一般型の順にナビゲートします。「生の型の使用」のカテゴリがあります。

4

ウィンドウ>環境設定> Java>コンパイラ>エラー/警告>汎用タイプ。または、プロジェクト>プロパティ> Java>エラー/警告>「プロジェクト固有の設定を有効にする」を右クリックして、プロジェクト単位でプロジェクトごとに設定することができます(ワークスペース内に他のプロジェクトがある場合は、前と同じように。

関連する問題