Tengo una aplicación de servidor y dos aplicaciones de cliente basadas en Swing. Los estamos desarrollando en eclipse y hay un proyecto separado para cada uno.Crear clases en el mismo paquete en jar por separado
Muchas clases se comparten. Por ejemplo, el paquete my.server
tiene algunas clases tanto para el servidor como para los clientes, mientras que otras son solo para el servidor. Aunque prefiero ponerlos en el mismo paquete porque están estrechamente relacionados y algunos de ellos dependen de la visibilidad del paquete, no quiero distribuir clases que una aplicación no necesita, ya que no solo inflaría el tamaño del archivo, sino que también Sería un riesgo de seguridad.
Por el momento, cada uno de los servidores y clientes tiene los mismos frascos, lo cual es un desastre. Idealmente, me gustaría crear automáticamente jar basados en la dependencia de la siguiente manera.
Server:
- server.jar: clases utilizadas por Server sólo
- servidor cliente1-common.jar: clases compartidas por servidor y cliente 1
- servidor client2-common.jar: clases compartidas por servidor y cliente 2
Cliente 1:
- client1.jar: clases utilizadas por el cliente 1 solamente
- servidor cliente1-common.jar: clases compartidas por servidor y cliente 1
- cliente-common.jar: clases compartidas por el cliente 1 y el cliente 2, pero no del servidor
Cliente 2:
- client2.jar: clases utilizadas por el cliente 2 solamente
- servidor client2-common.jar: clases compartidas por servidor y cliente 2
- cliente-common.jar: clases compartidas por el cliente 1 y el cliente 2, pero no del servidor
Soy consciente de que puede hacerlo de forma manual utilizando la hormiga, pero sería un desastre mantenimiento. ¿Hay alguna herramienta que se encargue de tal dependencia automáticamente?
Si está utilizando 'experto' para el proceso de construcción, compruebe esta discusión: http://stackoverflow.com/questions/2424015/maven-best-practice- para que generen-multiple-frascos-con-diferente-filtradas-clases – bchetty