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
?
java
compiler-errors
unchecked
Dave Fisher
źródło
źródło
-Xlint:unchecked
do wykonywanego wiersza poleceń, tak jak wskazuje komunikat.Odpowiedzi:
Określ go w wierszu poleceń dla javac:
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
źródło
<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"
.źródło
W projekcie Gradle możesz dodać ten parametr kompilacji w następujący sposób:
gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" } }
źródło
Compile
została zmieniona naJavaCompile
, 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>();
źródło
Jest inny sposób na gradle:
compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
źródło
tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }
W przypadku Android Studio dodaj następujące elementy do
build.gradle
pliku najwyższego poziomu wallprojects
blokutasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
źródło
W CMD napisz:
wyświetli listę niezaznaczonych lub niebezpiecznych operacji.
źródło
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ę iAdditional Compiler Options
ustawXlint:unchecked
opcję w polu tekstowym oznaczonym etykietą .W związku z tym ustawienie pozostanie ustawione za każdym razem, gdy kompilujesz projekt.
źródło
Czystszy sposób określenia argumentów kompilatora Gradle jest następujący:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
źródło
inny sposób kompilacji za pomocą -Xlint: niezaznaczony w linii poleceń
pokaże niezaznaczone i niebezpieczne ostrzeżenia.
źródło
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”.
źródło