Respuestas:
Puede seguir el diseño de proyecto estándar de maven . No es necesario que utilice maven, pero facilitaría la transición en el futuro (si fuera necesario). Además, otros desarrolladores estarán acostumbrados a ver ese diseño, ya que muchos proyectos de código abierto se presentan de esta manera,
Hay algunos recursos existentes que puede consultar:
Por lo que vale, mis propias pautas personales que suelo usar son las siguientes:
Un par de otros puntos:
Sugeriría crear la estructura de su paquete por característica, y no por la capa de implementación. Una buena reseña sobre esto son las prácticas de Java: paquete por característica, no capa
Normalmente me gusta tener lo siguiente:
Estos pueden considerarse poco convencionales, pero me parece una forma muy agradable de organizar las cosas.