コンパイラーの設定は、以下のセクションに分かれています。
オプション |
説明 |
デフォルト |
---|---|---|
到達不能コード |
到達不能コードは、オプションで、エラーまたは警告として報告するか、あるいは単に無視することができます。 バイトコード生成は常にこれを最適化します。Java 言語の仕様の場合、到達不能コードはエラーになるということに注意してください。 |
エラー |
解決不能インポート・ステートメント |
解決できないインポート・ステートメントは、オプションで、エラーまたは警告として報告するか、あるいは無視することができます。 Java 言語の仕様の場合、解決不能インポート・ステートメントはエラーになるということに注意してください。 |
エラー |
未使用の (読み取られていない) ローカル変数 |
使用可能にすると、コンパイラーは未使用のローカル変数 (つまり、読み取られていない変数) についてエラーまたは警告を出します。 |
無視 |
未使用の (読み取られていない) パラメーター |
使用可能にすると、コンパイラーは未使用のメソッド・パラメーター (読み取られていないパラメーター) についてエラーまたは警告を出します。 |
無視 |
未使用のインポート |
使用可能にすると、コンパイラーは未使用のインポート参照についてエラーまたは警告を出します。 |
警告 |
未使用のプライベート型、メソッド、またはフィールド |
使用可能にすると、プライベート・メソッドまたはフィールドが宣言されているのに同じ単位内で使用されていないときには、コンパイラーがエラーまたは警告を出します。 |
無視 |
非外部化ストリングの使用 |
使用可能にすると、コンパイラーは、外部化されていないストリング・リテラル (つまり、//$NON-NLS-<n>$ のタグがないもの) に対して、エラーまたは警告を出します。 |
無視 |
使用すべきでない API の使用 |
使用可能にすると、コンパイラーは使用すべきでない API の使用をエラーまたは警告として通知します。 |
警告 |
使用すべきでないコード内での使用すべきでない API の使用を合図 |
使用可能にすると、コンパイラーは使用すべきでないコード内の使用すべきでない API の使用を通知します。 この問題の重大度は、「使用すべきでない API の使用」オプションで制御されます。 |
オフ |
コンパイル単位ごとに報告される問題の最大数 |
コンパイル単位ごとに報告される問題の最大数を指定します。 |
100 |
オプション |
説明 |
デフォルト |
---|---|---|
メソッドはオーバーライドされましたが、パッケージは可視ではありません |
パッケージ・デフォルト・メソッドは別のパッケージで可視ではないため、これをオーバーライドできません。 このオプションを使用可能にすると、コンパイラーはこのようなシナリオをエラーか警告として通知します。 |
警告 |
コンストラクター名を持つメソッド |
一般に、メソッドにコンストラクター名を使用して名前を付けると、プログラミングのスタイルが不良であると見なされます。 このオプションを使用可能にすると、コンパイラーはこのようなシナリオをエラーか警告として通知します。 |
警告 |
インターフェース・メソッドと保護「Object」メソッドの競合 |
使用可能にすると、インターフェースが継承されない「Object」メソッドと互換性のないメソッドを定義したときに、コンパイラーはエラーまたは警告を出します。この競合が解決するまで、次のようなインターフェースはインプリメントできません。 interface I { int clone(); } |
警告 |
隠れた catch ブロック |
ローカル側の try ステートメントに対して、いくつかの catch ブロックが以下のように他の catch ブロックを隠す場合があります。 try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}. このオプションを使用可能にすると、コンパイラーは、チェックされた例外に対応する隠れた catch ブロックについてエラーまたは警告を出します。 |
警告 |
静的メンバーへの非静的アクセス |
使用可能にすると、式の受信側で静的フィールドまたはメソッドがアクセスされたときに、コンパイラーはエラーまたは警告を出します。 静的メンバーの参照は、型名で限定されなければなりません。 |
警告 |
エンクロージング型のアクセス不能メンバーへのアクセス |
使用可能にすると、コンパイラーはエンクロージング型のアクセス不能メンバーへのアクセスをエミュレートするとき、エラーまたは警告を出します。 このようなアクセスは、パフォーマンスに影響を与える可能性があります。 |
無視 |
効果のない割り当て (例:「x = x」) |
使用可能にすると、割り当てに効果がないとき (例:「x = x」) に、コンパイラーはエラーまたは警告を出します。 |
警告 |
ストリング連結で文字配列を使用 |
使用可能にすると、char[] 式が次のストリング連結で使用されたときに、コンパイラーはエラーまたは警告を出します。 "hello" + new char[]{'w','o','r','l','d'}
|
警告 |
オプション |
説明 |
デフォルト |
---|---|---|
コンパイラー準拠レベル |
JDK コンパイラー準拠レベルを指定します。 |
1.3 |
デフォルト準拠設定の使用 |
使用可能になっている場合、コンパイラー準拠レベルのデフォルト準拠設定が適用されます。 |
オン |
生成されたクラス・ファイルの互換性 |
生成されたクラス・ファイルの互換性を指定します。 |
1.1 |
ソース互換性 |
ソースが 1.3 あるいは 1.4 互換かどうかを指定します。 1.4 からは、「assert」は断言サポートで予約されたキーワードです。 |
1.3 |
「assert」を IDとして報告 |
使用可能にすると、「assert」 (JDK 1.4 では予約済みキーワード) が ID として使用されると、コンパイラーはエラーまたは警告を出します。 |
無視 |
生成されたクラス・ファイルに変数属性を追加 |
使用可能になっている場合、変数属性がクラス・ファイルに追加されます。これを使用すると、ローカル変数名がデバッガー (変数が確実に定義されている場所) に表示されます。 このため、結果の .class ファイルはより大きいものになります。 |
オン |
生成されたクラス・ファイルに行番号属性を追加 |
使用可能になっている場合、行番号属性がクラス・ファイルに追加されます。これを使用すると、デバッガーでソース・コードが強調表示されます。 |
オン |
生成されたクラス・ファイルにソース・ファイル名を追加 |
使用可能になっている場合、ソース・ファイル名がクラス・ファイルに追加されます。これを使用すると、デバッガーが対応するソース・コードを表示します。 |
オン |
未使用のローカル変数を保存 |
使用可能になっている場合、未使用の (読み取られていない) ローカル変数はクラス・ファイルからはずされません。クラス・ファイルをはずすと、デバッグが変更される可能性があります。 |
オン |
オプション |
説明 |
デフォルト |
---|---|---|
不完全なビルド・パス |
クラスパスのエントリーが存在しない、適切でない、または不可視であるとき (例えば、参照プロジェクトが閉じているとき) に報告される問題の重大度を示します。 |
エラー |
循環依存関係 |
プロジェクトがサイクルに組み込まれているときに報告される問題の重大度を指示します。 |
エラー |
重複リソース (Duplicated resources) |
複数のリソースのオカレンスが出力ロケーションにコピーされたときに報告される問題の重大度を示します。 |
警告 |
ビルド・パス・エラーでビルドを中止 |
クラスパスが無効な場合、ビルダーを打ち切りに切り替えることができます。 |
オン |
フル・ビルドで出力フォルダーを修正 |
フル・ビルド操作の実行時に Java ビルダーが出力フォルダーをクリーンできるかどうかを示します。 |
オン |
ソース・フォルダーで除外パターンの使用を可能にする |
使用不可にすると、プロジェクト・クラスパスのエントリーは除外パターンと関連付けることができなくなります。 |
オン |
ソース・フォルダーに複数の出力ロケーションの使用を可能にする |
使用不可にすると、複数の出力ロケーションの使用を回避するため、プロジェクト・クラスパスのエントリーは特定の出力ロケーションと関連付けることができなくなります。 |
オン |
フィルター操作されたリソース |
出力フォルダーにコピーされないファイル・パターンのコンマで区切られたリスト。 |
'' |
Java プログラムのビルド
ビルド・パスの操作
JRE の操作