Post by Eduardo Yáñez PararedaPues es no tienes el recurso en el classpath, o que el método es
estático, en cuyo caso tienes que usar el segundo método.
Ante todo, muchas gracias por contestar. Lo que me cuentas viene a ser
lo que he leído que tiene que pasar, pero no es lo que pasa. :-(
Post by Eduardo Yáñez PararedaAdemás, el path siempre tiene que empezar con /
Si no usas getClassLoader(), sí, en caso contrario no, porque la ruta
se presupone absoluta dentro del directorio raíz de ejecución.
Post by Eduardo Yáñez PararedaEs decir si el recurso lo tienes en
proyecto/classes/recurso.txt
hay que buscarlo en /resurso.txt (si classes está en el classpat claro).
Si estuviese en
proyecto/classes/org/dir2/dir2/recurso.gif
/org/dir1/dir2/recurso.gif
Lo de .getResourceAsStream() tiene miga, la verdad. El sitio en el que
lo explican más claro para mi gusto es aquí:
http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html
Pero el caso es que a mí no me funciona dentro del JAR. El JAR tiene
esta estructura:
(...otros archivos...)
org/mozillatranslator/resource/install.properties
(...otros archivos...)
org/mozillatranslator/runner/WriteXPIRunner.class
(...)
Dentro de WriteXPIRunner he probado esto:
bis = (BufferedInputStream)
this.getClass().getClassLoader().getResourceAsStream("org/mozillatranslator/resource/install.properties");
y esto:
bis = (BufferedInputStream)
this.getClass().getResourceAsStream("/org/mozillatranslator/resource/install.properties");
Incluso copié el archivo install.properties al directorio runner para
que estuviera junto a la clase y probé esto:
bis = (BufferedInputStream)
this.getClass().getResourceAsStream("install.properties");
Todo lo anterior funciona cuando estoy en modo de depuración (en cuyo
caso Netbeans usa las clases generadas en el directorio
build/org/mozillatranslator/...) pero no si ejecuto el JAR, ya sea
dentro de Netbeans o no.
Ojalá me digáis qué estoy haciendo algo mal, pero si no, me conformo
con que me digáis que *debería* funcionar, aunque no lo haga.
Gracias por anticipado.
--
If it's true that we are here to help others,
then what exactly are the OTHERS here for?