Ho un'applicazione server e due applicazioni client basate su Swing. Li stiamo sviluppando in eclissi e c'è un progetto separato per ciascuno.Creazione classi nello stesso pacchetto in vasi separati
Molte classi sono condivise. Ad esempio, il pacchetto my.server
ha alcune classi sia per il server che per i client mentre altre sono solo per il server. Anche se preferisco inserirli nello stesso pacchetto perché sono strettamente correlati e alcuni di essi si basano sulla visibilità del pacchetto, non voglio distribuire classi di cui un'applicazione non ha bisogno in quanto non solo aumenterebbero le dimensioni del file, ma anche sarebbe un rischio per la sicurezza.
Al momento, ciascuno dei server e dei client ha gli stessi barattoli, il che è un disastro. Idealmente, mi piacerebbe creare automaticamente i jar in base alla dipendenza come segue.
Server:
- server.jar: classi utilizzate dal server solo
- server client1-common.jar: classi condivise da server e client 1
- server client2-common.jar: classi condivise da server e client 2
client 1:
- client1.jar: classi utilizzate dal Cliente 1 solo
- server client1-common.jar: classi condivise da server e client 1
- client-common.jar: classi condivise da client 1 e 2 client, ma non Server
client 2:
- client2.jar: classi utilizzate dal Cliente 2 solo
- server client2-common.jar: classi condivise da server e client 2
- client-common.jar: classi condivise da Client 1 e Client 2, ma non Server
Mi rendo conto che è possibile farlo manualmente utilizzando formica, ma sarebbe un disastro di manutenzione. C'è uno strumento che si prende cura di tale dipendenza automaticamente?
Se si sta utilizzando 'maven' per il processo di compilazione, consultare questa discussione: http://stackoverflow.com/questions/2424015/maven-best-practice- for-generation-multiple-jars-with-different-filtered-classes – bchetty