コードをコンパイルするとメッセージが表示されます。
Note: H:\Project2\MyGui2.Java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
-Xlint:unchecked
で再コンパイルするにはどうすればよいですか?
Javacのコマンドラインで指定します。
javac -Xlint:unchecked
または、Antを使用している場合は、javacターゲットを変更します
<javac ...>
<compilerarg value="-Xlint"/>
</javac>
Mavenを使用している場合、これを maven-compiler-plugin
で設定します
<compilerArgument>-Xlint:unchecked</compilerArgument>
IntelliJ 13.1の場合、 File -> Settings -> Project Settings -> Compiler -> Java Compiler、右側のAdditional command line parameters
に"-Xlint:unchecked"
と入力します。
Gradleプロジェクトでは、次の方法でこのコンパイルパラメーターを追加できます。
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
奇妙に聞こえますが、これはあなたの問題だと確信しています:
MyGui.Javaのどこかで、タイプを指定せずに汎用コレクションを使用しています。たとえば、ArrayListをどこかで使用している場合、次のようにします。
List list = new ArrayList();
これを行う必要がある場合:
List<String> list = new ArrayList<String>();
Gradleには別の方法があります:
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
CMDで、次のように記述します。
javac -Xlint:unchecked MyGui2.Java
未チェックまたは安全でない操作のリストが表示されます。
NetBeansのようなIDEを使用する場合、プロジェクトのプロパティでXlint:unchecked
コンパイラオプションを指定できます。
プロジェクトウィンドウに移動し、プロジェクトを右クリックして、Properties
をクリックします。
表示されるウィンドウでCompiling
カテゴリを検索し、Additional Compiler Options
というラベルの付いたテキストボックスでXlint:unchecked
オプションを設定します。
したがって、プロジェクトをコンパイルするたびに設定が設定されたままになります。
Android Studioの場合、allprojects
ブロック内のトップレベルbuild.gradle
ファイルに次を追加します
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
Gradleコンパイラー引数を指定するよりクリーンな方法は次のとおりです。
compileJava.options.compilerArgs = ['-Xlint:unchecked'、 '-Xlint:deprecation']
参考までに、これらの設定はIntelliJ 15で変更され、より深く埋もれるように新しく改善されました!
現在は、ファイル>その他の設定>デフォルト設定>「ビルド、実行、展開」>コンパイラー> Javaコンパイラー
そして、以前と同じ追加のコマンドラインパラメーターに「-Xlint:unchecked」と記述します。
コマンドラインで-Xlint:uncheckedを使用してコンパイルする他の方法
javac abc.Java -Xlint:unchecked
チェックされていない安全でない警告が表示されます。