Avatar billede jespersahner Nybegynder
04. september 2011 - 13:35 Der er 4 kommentarer og
1 løsning

Annotation processor classpath/processor-path

Placeret i en Java-klasse vil System.getProperties().getProperty("java.class.path", null) returnere classpath for klassen.

Men placeret i en annotation processor returneres kun JDK'ens "rå" classpath. Ikke desto mindre er annotation processoren i stand til at loade klasser (Class.forName("...")), såfremt disse angives i processor-path.

Mine spm. er herefter:

1. Evalueres System.getProperties().getProperty("java.class.path", null) først på run-time? (hvilket kan være en forklaring, idet annotation processoren afvikles før run-time, endda før compile-time)

2. Kan processor-path uddrages af System.getProperties()?
Avatar billede arne_v Ekspert
05. september 2011 - 21:44 #1
1)

Ja - runtime.

Men her er det jo javac programmets classpath du henter og ikke diverse argumenter til dette program.

2)

Nej.
Avatar billede arne_v Ekspert
05. september 2011 - 21:45 #2
Jeg har kigger meget paa hele AP API'et og jeg kan ikke se nogen maade at faa den info paa.

Min bedste ide er: lav noget C kode der henter hele kommando linien og wrap den som et JNI kald.
Avatar billede jespersahner Nybegynder
07. september 2011 - 08:55 #3
-> arne_v: Jeg spolede igennem System.getProperties() og kunne heller ikke finde noget:
        Properties p=System.getProperties();
        System.out.println("System.getProperties():");
        for (Map.Entry<Object,Object> me:p.entrySet()) {
            Object key=me.getKey();
            Object value=me.getValue();
            System.out.println("  "+key + ": " + value);
        }

Smid gerne svar.
Avatar billede arne_v Ekspert
07. september 2011 - 20:23 #4
svar

jeg kiggede en del paa den ProcessingEnvironment som blev sendt med over i init metode, men jeg kan ikke finde den rigtige classpath der (hvilket den burde vaere)
Avatar billede jespersahner Nybegynder
07. september 2011 - 20:28 #5
-> arne_v: Enig, jeg har også svært ved at gennemskue det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester