Obteniendo recursos de jar en una aplicación webstart de java

stoy tratando de cargar una cantidad de recursos en una aplicación de inicio web Java.

riginalmente había intentado cargar estos usando:

ClassLoader loader = MyClass.class.getClassLoader();
URL url = loader.getResource("resourceName");
File file = new File(url.toURI());

Pero esto no funcionó: arrojó una IllegalArgumentException. Investigaciones posteriores sugirieron que este enfoque no funciona con el acceso a recursos desde archivos jar, y que necesito usar el siguiente enfoque:

ClassLoader loader = MyClass.class.getClassLoader();
InputStream in = loader.getResourceAsStream("resourceName");

Sin embargo, obtengo resultados extraños cuando ejecuto esto usando el Jnlp. Si ejecuto lo siguiente:

public static void main(String[] args) throws IOException, URISyntaxException {
  ClassLoader loader = MyClass.class.getClassLoader();
  String r = "resourceName";
  URL url = loader.getResource(r);
  System.out.println(url!=null);
  InputStream in = loader.getResourceAsStream(r);
  System.out.println(in!=null);
}

En mi IDE, obtengo verdadero y verdadero (como era de esperar). Al ejecutar jnlp, obtengo verdadero para la URL, pero falso para InputStream.

¿Alguna idea de lo que podría estar haciendo mal? ¿Existen mejores formas de cargar recursos para usar en la aplicación Java WebStart?

Edit: para obtener información, mis recursos están en MyProject / src / main / resources, y cuando se genera el jar, los recursos están en la raíz del jar.

Respuestas a la pregunta(3)

Su respuesta a la pregunta