2013-02-19 9 views
5

Ho sperimentato con l'aggiunta di annotazioni personalizzate a Lombok. Il mio punto di partenza è un fork del sorgente su GitHub.Le estensioni Lombok personalizzate richiedono il pacchetto Lombok?

Ho aggiunto un'annotazione che funziona correttamente. Posso usare il lancio di eclipse incluso (o costruire un barattolo e scambiarlo nel mio eclipse.ini) per testare e vedere i risultati: ho inserito con successo un metodo in una classe.

Ora, questo funziona solo se inserisco le mie classi di gestori aggiuntivi nel pacchetto . Se li metto sotto un altro pacchetto, semplicemente non funzioneranno. Posso creare una nuova directory di origine fisica, modificare lo script di compilazione per includerlo in modo appropriato e far sì che le mie nuove classi si trovino lì, a condizione che pacchetti logicamente nuove classi in lombok.

Perché è questo? C'è comunque intorno ad esso? Vorrei separare le aggiunte che scrivo in un nuovo pacchetto di livello superiore per tenerle distinte dalle estensioni ufficiali del lombok.

risposta

3

A causa dei problemi del programma di caricamento classi in Eclipse, Lombok esegue il patching del classloader Equinox per caricare le classi nel pacchetto lombok da una posizione diversa. Questo è hardcoded. Quindi la tua estensione deve essere inclusa nel pacchetto lombok, oppure devi modificare the code in EclipsePatcher per includere anche il tuo pacchetto.

Full disclosure: Sono uno degli sviluppatori di Project Lombok.

+0

Grazie per le informazioni, fantastico per averlo direttamente da una fonte! Proverò ad aggiungere i miei pacchetti in quel codice patcher e vedere se funziona. –

Problemi correlati