Tengo una clase que necesita hacer alguna solicitud https.
En caso de que el almacén de confianza y el almacén de claves SSL no estén configurados, el contenedor que contiene mi clase los tiene en su carpeta de recursos.
Mi clase está siendo cargada dinámicamente por algún cargador de clases sobre el que no tengo control y ahora cuando lo hago
getClass().getClassLoader().getResourceAsStream("keystore.jks"); el recurso no se encuentra.
Mi teoría sobre esto es que getClassLoader devuelve el cargador de clases de un servidor web, que probablemente no pueda encontrar el recurso keystore.jks en el archivo jar.
Cualquier ayuda es apreciada.
Encontré una forma de evitar el problema. Puedo usar MyClass.class.getResourceAsStream("/keystore.jks"); para cargar el recurso correctamente.
Aunque no estoy exactamente seguro de por qué funciona. Cuando estaba usando MyClass.class.getClassLoader().getResourceAsStream("keystore.jks"); no estaba funcionando Aunque creo que leí en alguna parte que Class.getResource() con un / inicial es lo mismo que ClassLoader.getResource() sin uno.