2016-05-15 10 views
-2

Ich möchte Java-Annotation-Programm auf der Befehlszeile ausführen. Ich kann das Programm nicht ausführen. Hier ist das Programmwie Java-Annotation-Programm auf der Befehlszeile ausführen?

package com.lara.annontations; 
@interface F 
{ 
    public String somemessage(); 
} 
class G 
{ 
    @F(somemessage="My First Method") 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World!"); 
    } 
} 

ich das Programm mit dem Befehl als javac kompiliert com/lara/Anmerkungen/G.java es erfolgreich kompiliert, aber ich bin vor Problem in das Programm ausgeführt wird. Ich benutzte den Befehl, um Programm als java com.lara.annotation G zu laufen, aber es funktioniert nicht. Bitte kann mir jemand helfen, dieses Programm zu starten. Danke.

+2

Wie wissen Sie es nicht funktioniert ? – shmosel

+0

Definieren Sie "nicht funktioniert". Was hast du erwartet? Was wirklich passierte? Wenn ein Fehler auftritt, zeigen Sie die Fehlermeldung an. – Andreas

Antwort

0

1. sollten Sie die Beibehaltung der Anmerkung definieren RUNTIME ... Und Sie brauchen Reflexion verwenden, um die Meta-Daten drucken Sie auf die Methode

kommentierte nur
G gClass = new G(); 
Method m = gClass.getClass().getMethod("main"); 
Annotation[] annos = m.getAnnotations(); 
System.out.println("All annotations for myMeth:"); 
for(Annotation a : annos) 
    System.out.println(a); 
+0

Warum erstellen Sie eine 'G'-Instanz, wenn Sie nur auf eine _static_-Methode zugreifen möchten? – Seelenvirtuose

Verwandte Themen