Utilizzando un file sorgente Java in due diversi progetti, sia in fase di sviluppo
-
10-10-2019 - |
Domanda
Sto sviluppando un (framework Java per server-side web-development) Primavera di applicazioni web, che risponderà a un'altra applicazione Java sul lato client (che utilizza la comunicazione socket) da un oggetto JSON. Allo stesso tempo, sto lavorando su entrambi i lato server e lato client le applicazioni Java.
Il problema è che ho un gruppo di file (per esempio, un JSON interfacce variabili) che vengono utilizzati in entrambi i progetti. Per ora, ho le copie duplicate di tale interfaccia, in diversi pacchetti in due progetti. Ma questo provoca incoerenza, perché devo aggiornare i entrambi i file ogni volta che ho bisogno di fare un cambiamento nell'interfaccia.
Qualcuno ha una soluzione chiara per questo?
Grazie
Soluzione
Si dovrebbe trattare il vostro codice condiviso a livello di pacchetto e non il livello di file.
Si dovrebbe creare un pacchetto di definizioni di interfaccia che vengono utilizzati sia dal lato client e server della vostra architettura e ogni volta che i pacchetti modifiche, entrambe le parti dovranno cambiare di conseguenza.
Modifica
Non è stato esplicito a questo proposito, ma zellus' suggerimento circa l'importazione del codice comune come un vaso è un buon compromesso.
Altri suggerimenti
Si potrebbe creare un progetto separato per il codice JSON comune. Utilizzando la sovversione, svn: gli esterni consentono un'integrazione ordinata a livello sorgente. L'importazione del codice comune come file jar è un altro approccio.
Se stai usando Maven, si potrebbe creare un progetto Maven locale contenente tutte le classi si potrebbe aver bisogno in diversi progetti e aggiungere questa dipendenza al pom.xml che richiede queste classi.