2016-06-16 19 views
1

In meinem aktuellen Projekt versucht, ich habe diesen Code:Fehler beim Auszug Paketnamen von Klassenvariable

for(Annotation annotation : field.getAnnotations()) { 
     String package = annotation.annotationType().getPackage().getName(); 
     if(package.equals("com.loja.annotations.input_type")) 
     input.setAttribute("type", annotation.annotationType().getSimpleName()); 
    } 

, wenn ich das Projekt versuchen zu bauen, dieser Code führt zu einem Kompilation Ausfall aufgrund dieses Fehlers:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project store: Compilation failure: Compilation failure: 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[37,11] not a statement 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[37,17] ';' expected 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[38,14] illegal start of expression 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[38,21] illegal start of expression 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[38,28] ';' expected 
[ERROR] /c:/Users/Kleber Mota/Documents/GitHub/app/src/main/java/com/loja/thymeleaf/processor/form/InputProcessor.java:[38,22] variable declaration not allowed here 

kann jeder sehen, was hier nicht stimmt?

Linie 37: String package = annotation.annotationType().getPackage().getName(); und Linie 38 ist if(package.equals("com.loja.annotations.input_type"))

+0

Sie können eine Variable 'package' nicht benennen, da dies ein reserviertes Schlüsselwort ist. – Holger

Antwort

0

Sie dies versuchen können ..

annotation.annotationType().getName(); 
+1

aber ich brauche das Paket für die Annotationsklasse, nicht den Annotationsnamen. –

0

Sie können Ihr "Paket" Variable nach Zeile 37 (vor if) ausdrucken. Ich schrieb und lief den ähnlichen Code und es funktionierte für mich. Ich habe eine benutzerdefinierte Annotation in meinem API-Paket erstellt und Zeile 37 gab "api" zurück.

+1

Ich ändere den Namen der Variablen und arbeite für mich. Ich weiß nur, 'Paket 'ist ein reserviertes Wort in Java. Ich denke, das war das Problem. –

+0

oo ja :) Ich habe das auch geändert, dachte aber, deine IDE hätte dich schon gewarnt. – erolkaya84