Pokojne si pracujete v Eclipse a, ako správny profík, vyhľadávate triedy či súbory pomocou Open Type (Ctrl+Shift+T) alebo Open Resource (Ctrl+Shift+R). V týchto dialógoch vyskakujú všetky súbory nájdené vo vašom Workspace, vrátane derivovaných súborov (trebárs všetok výstup Maven build-ov).
Už sa vám stalo, že si otvoríte Open Resource dialóg, vyhľadáte súbor, otvoríte si ho, editujete a chvíľu sa tešíte z toho, že vaša zmena funguje; no potom (po prvom Maven builde) sa čudujete, kam vaše zmeny zmizli? Až po určitom čase strávenom pátraním si všimnete, že ste si omylom otvorili súbor z target zložky, ktorý po každom čistom builde bude prepísaný.
Bolo by dobré, keby sa tieto súbory, ktoré Maven veselo prepisuje počas svojho buildenia, nevyskytovali vo výsledkoch hľadania. Taktiež Ctrl+H Search Dialogue keď prehľadáva váš Workspace, vyhadzuje vo výsledkoch všetko to smetie nájdené v target zložkách. Tomuto všetkému sa dá zabrániť jednoduchou fintou.
V skratke, v package explorer-i (či inom Eclipse project explorer-i) označte zložku "target" a vojdite do jej nastavení, trebárs stlačením klávesovej skratky Alt+Enter, a tu zaškrtnite políčko Derived. Ja som si zvykol ho zaškrtnúť pomocou jeho quick-access kódu Alt+v, keď už mám prst nad klávesou Alt :-)
Názorná ukážka nastavení zložky. Táto možnosť je aj v novších verziách IDE
Po označení zložky ako Derived, Eclipse bude rozumieť jej významu (jej bezvýznamnosti) a nebude sa v nej hrabať počas vyhľadávania. Škoda, že to vyžaduje manuálny krok. Vo workspace s množstvom naimportovaných projektov máte smolu, lebo sa naklikáte... Zatiaľ som neprišiel na metódu ako nakonfigurovať maven-eclipse plugin tak, aby automaticky nastavil túto Derived property na každej target zložke. Určite sa to dá. Kto vie ako, dajte mi prosím vedieť.
Dúfam, že rada pomohla. Happy coding! |