¿Es realmente imposible ocultar algunas clases en un archivo jar?Ocultar clases en un archivo jar
No quería permitir la creación de instancias directas de las clases para que sea más flexible. Solo la fábrica (o una fachada) debe ser visible de este frasco.
¿Hay alguna otra manera que resolver este problema que crear dos proyectos? (dos proyectos: el primero contiene las clases (aplicación) y el otro referencias a la primera y contiene la fábrica, y más tarde sólo se le haga referencia el segundo)
No estoy seguro de lo que quiere decir con "ocultarse". Los archivos jar son solo archivos .zip, por lo que cualquier persona puede abrirlos y ver sus archivos de clase dentro de ellos. – jonescb
Solo quiero evitar que las clases se puedan usar afuera (por accidente) para crear instancias. – nrainer
Creo que debes confiar en el usuario de tus clases y proporcionar suficiente documentación decente sobre qué usar y qué no. De todos modos, no hay manera de que puedas evitar todos los errores que los desarrolladores que usan tus jarras pueden generar. Una alternativa, por supuesto, es hacer tus propios constructores tan complejos que nadie pueda entenderlos y recurrirá naturalmente a las clases de fábrica: D –