Otrzymuję komunikat podczas kompilacji kodu:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Jak ponownie skompilować z -Xlint:unchecked
?
Otrzymuję komunikat podczas kompilacji kodu:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Jak ponownie skompilować z -Xlint:unchecked
?
Odpowiedzi:
Określ go w wierszu poleceń dla javac:
javac -Xlint: niezaznaczone
Lub jeśli używasz Ant, zmodyfikuj cel javac
<javac ...>
<compilerarg value="-Xlint"/>
</javac>
Jeśli używasz Maven, skonfiguruj to w maven-compiler-plugin
<compilerArgument>-Xlint:unchecked</compilerArgument>
<compilerArgument>
idzie pod <configuration>
nie w elemencie `<compilerArguments> ' . Głupi ja.
W przypadku IntelliJ 13.1 przejdź do File-> Settings-> Project Settings-> Compiler-> Java Compileri po prawej stronie, aby Additional command line parameters
wejść "-Xlint:unchecked"
.
W projekcie Gradle możesz dodać ten parametr kompilacji w następujący sposób:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
Compile
została zmieniona na JavaCompile
, więc jesttasks.withType(JavaCompile) { ... }
allprojects { // ... }
Wiem, że to brzmi dziwnie, ale jestem pewien, że to twój problem:
Gdzieś w MyGui.java używasz ogólnej kolekcji bez określania typu. Na przykład, jeśli używasz gdzieś ArrayList, robisz to:
List list = new ArrayList();
Kiedy powinieneś to robić:
List<String> list = new ArrayList<String>();
Jest inny sposób na gradle:
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }
W CMD napisz:
javac -Xlint:unchecked MyGui2.java
wyświetli listę niezaznaczonych lub niebezpiecznych operacji.
Jeśli pracujesz z IDE, takim jak NetBeans, możesz określić Xlint:unchecked
opcję kompilatora we właściwościach projektu.
Po prostu przejdź do okna projektów, kliknij prawym przyciskiem myszy projekt, a następnie kliknij Properties
.
W wyświetlonym oknie wyszukaj Compiling
kategorię i Additional Compiler Options
ustaw Xlint:unchecked
opcję w polu tekstowym oznaczonym etykietą .
W związku z tym ustawienie pozostanie ustawione za każdym razem, gdy kompilujesz projekt.
Czystszy sposób określenia argumentów kompilatora Gradle jest następujący:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
inny sposób kompilacji za pomocą -Xlint: niezaznaczony w linii poleceń
javac abc.java -Xlint:unchecked
pokaże niezaznaczone i niebezpieczne ostrzeżenia.
FYI dostanie się do tych ustawień zmieniło się dla IntelliJ 15, nowe i ulepszone dla jeszcze głębszego pochówku!
Teraz jest to: Plik> Inne ustawienia> Ustawienia domyślne> „Kompilacja, wykonanie, wdrożenie”> Kompilator> Kompilator Java
I w Dodatkowe parametry wiersza poleceń, tak samo jak poprzednio, wpisz „-Xlint: unchecked”.
-Xlint:unchecked
do wykonywanego wiersza poleceń, tak jak wskazuje komunikat.