InvocationTargetException when running applet locally

Bernd Eckenfels bernd-2013 at eckenfels.net
Thu Oct 17 14:14:35 PDT 2013


Am 17.10.2013, 20:47 Uhr, schrieb Mickey Segal <java3 at segal.org>:

> For years, we've used the ability to run our signed Java applet locally  
> when we are in a location without internet access.  That seems no longer  
> to work as of Java 7 update 45.  When the applet is launched, a  
> java.lang.reflect.InvocationTargetException is thrown.  I assume this is  
> a result of something done to block some security hole, but does that  
> mean there is no way anymore to run a Java applet locally, even if it is  
> signed?

It might be obvious, but maybe not: InvocationTargetException is an  
Exception produced by Reflection. It is used to wrap Exceptions thrown in  
the reflected code (since it is not possible to declare them dynamically).  
In your case I guess Reflection is used by the launcher to start the  
applet methods.

It would be good citizenship to remove the ITE from printing/displaying  
but as it is not done, you have to do it. You need to look at the stacked  
cause, the next Exception is the one your code throws. Without seeing this  
chain it is hard to guess what your problem is.

But I think most likely you run into a NPE because of the changed behavior  
of getCodeBase() (as explained here for example:  
http://www.duckware.com/tech/java-security-clusterfuck.html)

Greetings
Bernd


More information about the security-dev mailing list