Il modo migliore per eseguire il debug e modificare la libreria di terze parti in java?

-3

In javascript, python, golang o ruggine di solito hai il codice sorgente di terze parti disponibile nel tuo ambiente di sviluppo in modo che tu possa modificarlo e eseguirne il debug.

Sono un principiante in java.

Qual è il flusso di lavoro consigliato per eseguire il debug della libreria di terze parti?

    
posta Jal 15.05.2018 - 02:23
fonte

3 risposte

3

Se stai usando qualsiasi tipo di gestione dei pacchetti, istruiscilo a scaricare il jar sorgente insieme ai jar binari. Il tuo IDE dovrebbe quindi essere in grado di utilizzare la fonte scaricata per eseguire il debug della libreria.

Usando questo metodo, non sei veramente in grado di modificare la libreria, ma non dovresti farlo comunque.

    
risposta data 15.05.2018 - 02:44
fonte
1

Se utilizzi Eclipse, dovresti provare Enhanced Class Decompiler, che può essere installato facendo Help > Eclipse Marketplace > e quindi cercare "Enhanced Class Decompiler".

Puoi quindi eseguire il debug della tua app e, mentre passi al codice di terze parti, decompilerà il bytecode in linguaggio Java e lo mostrerà nell'IDE.

    
risposta data 19.05.2018 - 09:48
fonte
0

Se assolutamente necessario, puoi modificare la libreria con varie tecniche:

  1. estendere una classe non final e creare un'istanza di quella invece della classe originale. Funziona solo quando l'applicazione controlla i punti rilevanti in cui vengono create le istanze. Ma questo è in realtà l'approccio più rischioso, a causa di vari problemi relativi alla fragilità dell'ereditarietà dell'implementazione. Non consiglierei questo approccio se non per il più semplice dei bisogni.
  2. copia e incolla del codice sorgente dalla libreria nel tuo codice e lo modifica. Assicurati di rispettare tutti i requisiti pertinenti della licenza se lo fai.
  3. verificando il codice sorgente originale (ad esempio da GitHub), modificandolo, ricostruendolo e pubblicando la versione modificata nel repository Maven aziendale con un'organizzazione modificata ( com.your.company ) e / o versione. Quindi modifica le specifiche di dipendenza per utilizzare questo jar modificato anziché l'originale.
risposta data 20.05.2018 - 00:14
fonte

Leggi altre domande sui tag