Domanda

Sto usando un componente UI dal polacco J2ME. Ho trovato un semplice bug nel codice e voglio risolverlo rapidamente ma non riesco a trovare alcun script di compilazione nel pacchetto di download, sebbene sia incluso il codice sorgente.

Il problema non può essere risolto estendendo la classe in quanto coinvolge membri con accesso privato.

Come devo fare per risolverlo? Dovrei semplicemente compilare la classe in questione con Javac o cercare di trovare lo script di compilazione nel loro repository?

È stato utile?

Soluzione

Non esiste un codice binario per la libreria UI J2MEPolish, poiché anche queste classi sono preelaborate durante la compilazione dell'applicazione. Questo è il motivo per cui non esiste anche uno script di build per la parte dell'interfaccia utente J2MEPolish: il file binario risultante, se compilato, non avrebbe alcun senso :)

Se stai usando questa classe UI direttamente (non è coinvolta la magia polacca) ti suggerirei di copiarla nel tuo progetto, apportare le modifiche lì e dovresti andare bene.

Ma c'è un piccolo problema. Non sono sicuro al 100%, ma il processo di compilazione polacco dovrebbe essere il seguente: prima le tue classi sono preelaborate e poi le classi polacche saranno preelaborate. Se il componente UI, che hai copiato nel tuo progetto, rimarrà nello stesso pacchetto java, potrebbe accadere che le tue modifiche vengano sovrascritte da un'implementazione polacca buggy. Puoi verificarlo eseguendo l'applicazione o guardando il codice java finale nella directory di build.

Se si verifica il problema di sovrascrittura, hai due opzioni: spostare la classe UI nel tuo progetto in un pacchetto diverso (sono sicuro al 99% che dovrebbe andare bene se lo usi direttamente) o devi modificare il processo di compilazione polacco, in modo che preelaborasse prima le lezioni di polacco e che potessi sovrascrivere le modifiche apportate da esso

/ JaanusSiim

Altri suggerimenti

So che a questa domanda è stata data una risposta e accettato, ma un metodo più semplice sarebbe quello di usare la loro proprietà incorporata (per chiunque venga qui attraverso i motori di ricerca magici)

polish.client.source=/projecthome/j2me-polish-source

che è semplicemente una copia delle loro fonti impacchettate con il programma di installazione. Puoi copiarlo nel tuo albero dei sorgenti e quindi avere la cronologia delle versioni delle tue modifiche.

Mentre il metodo di JaanusSiim potrebbe funzionare, non lo consiglierei perché diventa confuso avere de.enough. ** pacchetti nel tuo albero dei sorgenti Normalmente creo un src per la mia fonte personale e un src-j2mepolish per i loro file sorgente questo era MOLTO esplicito quello che ho aggiunto alle versioni standard.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top