Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Java 7 Update 25 - getCodeBase deja de funcionar en applets en local

Hola a todos/as. Lo primero gracias por su tiempo.

Desde esta última versión, al ejecutar un applet, en local, que carga imágenes mediante "getCodebase", devuelve un "nullpointer" (si instalamos versiones anteriores del jre funciona correctamente).
Llevo dos días intentando buscar alternativa a este problema pero no consigo solución alguna. Por favor alguien tiene alguna idea al respecto.

Gracias.

julio 23, 2013 | Unregistered Commenterbouzan

Buenas,

No devuelve un nullpointer, sino que getCodeBase devuelve un null cuando estas en local.

Lo puedes ver en las release notes de la version:
http://www.oracle.com/technetwork/java/javase/7u25-relnotes-1955741.html


Local Applets return NULL for codebase
Beginning with JDK 7u25, an applet's getCodeBase() method will return NULL when the applet is running from the local file system.

Yo como alternativa utilizaria el classLoader para cargar un recurso:
this.getClass().getResource

Un saludo

julio 23, 2013 | Unregistered CommenterUnoPorAhi

Muchas gracias UnoPorAhi, efectivamente el nullpointer aparece con el getImage(getCodebase...) al ser getCodebase null.

Si, ya había leido las "release" pero no entiendo a qué viene esta decisión, ni plantean una alternativa, en fin, cada vez tengo más claro que se están cargando a Java.

Por otra banda, te agradezco enormemente la pista ya que ha sido la solución, por lo menos de momento mientras a los de Oracle no se le ocurra otra cosa. Eso si, para que el classloader funcione, debí modificar el "java.policy".
Lo dicho muchas gracias por tu ayuda.

julio 24, 2013 | Unregistered Commenterbouzan

Buenas,

A mi tambien me parece un cambio bastante precipitado que va a romper muchisimo codigo.

Por lo que he encontrado en una mail de discusion, la explicacion que dan los tecnicos de Oracle es que lo han hecho asi para solucionar una vulnerabilidad de seguridad (una mas de las millones que han provocado los malditos applets):
http://permalink.gmane.org/gmane.comp.java.openjdk.security.devel/7894

Un saludo

julio 25, 2013 | Unregistered CommenterUnoPorAhi