Ugyebár annotációk esetén, három feldolgozási típusról beszélünk.
- RUNTIME: nincs vele feldolgozási problémánk, hiszen futási időben bármikor lekérdezhetők. Itt mindenképp megírjuk a Reflection API kódot.
- CLASS: na ez már az érdekesebbik része, hiszen a generált kódban benne van, de nem lekérdezhető
- SOURCE: csak forrás szinten, érhető el.
Mivel eclipsszel dolgozunk bent és a blog is erről szól, ezért ilyen irányú megoldást kerestem, valósítottam meg.
(Nem csak eclipseből használható módszer)
Fogjuk a JDT Core Batch Compiler-t és csinálunk egy "run/debug configuration"-t, amiben amiben a main class a compiler mainje (org.eclipse.jdt.internal.compiler.batch.Main), hozzáadjuk a compilert a classpathhoz. Illetve pár alapvető beállítást használunk (lásd post végén levő zip fájl). Az fordító ilyen módon való futtatása, simán lehetővé teszi a hatásos debugolást.
Ami már kicsit bonyolultabb, az pedig az eclipse projekteken bekapcsolható "annotation proccessing" mód kihasználása. Mivel ezt egyszerűbb mutatni, mint leírni, ezért majd csinálok egy kis videót.
Mindenesetre a launch konfigurációk benne lesznek a zipben.
Példakód, konfigurációk.
No comments:
Post a Comment