J'ai fait une applet Swing qui fonctionnera dans Eclipse sans problème, mais quand je l'exécute avec un fichier html utilisant Chrome, j'obtiens une exception d'exécution: java.lang.reflect.InvocationTargetException. Quelqu'un peut-il suggérer ce qui ne va pas s'il vous plaît? Voici ce que j'ai essayé:L'applet fonctionne correctement dans Eclipse; mais en cours d'exécution dans Chrome donne InvocationTargetException
J'ai lu que InvocationTargetException enroule autour de certains autre erreur (une autre erreur est à l'origine), mais je ne sais pas quelle méthode pour mettre try {} catch (InvocationTargetException e) {e.toString()} pour obtenir une erreur utile .
matériel en ligne suggère je générer une trace de la pile en utilisant JDB, mais encore, il ne semble pas contenir des informations utiles pour trouver la cause de l'exception:
StackTrace
TimerQueue:
[1] sun.misc.Unsafe.park (native method)
[2] java.util.concurrent.locks.LockSupport.park (null)
[3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t (null)
[4] java.util.concurrent.DelayQueue.take (null)
[5] javax.swing.TimerQueue.run (null)
[6] java.lang.Thread.run (null)
ConsoleTraceListener:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run (
null)
TimerQueue:
[1] sun.misc.Unsafe.park (native method)
[2] java.util.concurrent.locks.LockSupport.park (null)
[3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t (null)
[4] java.util.concurrent.DelayQueue.take (null)
[5] javax.swing.TimerQueue.run (null)
[6] java.lang.Thread.run (null)
D3D Screen Updater:
[1] java.lang.Object.wait (native method)
[2] sun.java2d.d3d.D3DScreenUpdateManager.run (null)
[3] java.lang.Thread.run (null)
AWT-EventQueue-1:
[1] sun.misc.Unsafe.park (native method)
[2] java.util.concurrent.locks.LockSupport.park (null)
[3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t (null)
[4] java.awt.EventQueue.getNextEvent (null)
[5] java.awt.EventDispatchThread.pumpOneEventForFilters (null)
[6] java.awt.EventDispatchThread.pumpEventsForFilter (null)
[7] java.awt.EventDispatchThread.pumpEventsForHierarchy (null)
[8] java.awt.EventDispatchThread.pumpEvents (null)
[9] java.awt.EventDispatchThread.pumpEvents (null)
[10] java.awt.EventDispatchThread.run (null)
AWT-EventQueue-2:
[1] sun.misc.Unsafe.park (native method)
[2] java.util.concurrent.locks.LockSupport.park (null)
[3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t (null)
[4] java.awt.EventQueue.getNextEvent (null)
[5] java.awt.EventDispatchThread.pumpOneEventForFilters (null)
[6] java.awt.EventDispatchThread.pumpEventsForFilter (null)
[7] java.awt.EventDispatchThread.pumpEventsForHierarchy (null)
[8] java.awt.EventDispatchThread.pumpEvents (null)
[9] java.awt.EventDispatchThread.pumpEvents (null)
[10] java.awt.EventDispatchThread.run (null)
Applet 3 LiveConnect Worker Thread:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker
.run (null)
[4] java.lang.Thread.run (null)
Browser Side Object Cleanup Thread:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (null)
[3] java.lang.ref.ReferenceQueue.remove (null)
[4] sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.
run (null)
CacheCleanUpThread:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] com.sun.deploy.cache.CleanupThread.run (null)
CacheMemoryCleanUpThread:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (null)
[3] java.lang.ref.ReferenceQueue.remove (null)
[4] com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run (null)
SysExecutionTheadCreator:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run (null)
AWT-EventQueue-0:
[1] sun.misc.Unsafe.park (native method)
[2] java.util.concurrent.locks.LockSupport.park (null)
[3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t (null)
[4] java.awt.EventQueue.getNextEvent (null)
[5] java.awt.EventDispatchThread.pumpOneEventForFilters (null)
[6] java.awt.EventDispatchThread.pumpEventsForFilter (null)
[7] java.awt.EventDispatchThread.pumpEventsForHierarchy (null)
[8] java.awt.EventDispatchThread.pumpEvents (null)
[9] java.awt.EventDispatchThread.pumpEvents (null)
[10] java.awt.EventDispatchThread.run (null)
AWT-Windows:
[1] sun.awt.windows.WToolkit.eventLoop (native method)
[2] sun.awt.windows.WToolkit.run (null)
AWT-Shutdown:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] sun.awt.AWTAutoShutdown.run (null)
[4] java.lang.Thread.run (null)
Java2D Disposer:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (null)
[3] java.lang.ref.ReferenceQueue.remove (null)
[4] sun.java2d.Disposer.run (null)
[5] java.lang.Thread.run (null)
Java Plug-In Pipe Worker Thread (Client-Side):
[1] sun.plugin2.os.windows.Windows.ReadFile0 (native method)
[2] sun.plugin2.os.windows.Windows.ReadFile (null)
[3] sun.plugin2.ipc.windows.WindowsNamedPipe.read (null)
[4] sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read (null
)
[5] sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte (
null)
[6] sun.plugin2.message.AbstractSerializer.readInt (null)
[7] sun.plugin2.message.transport.SerializingTransport.read (null)
[8] sun.plugin2.message.Pipe$WorkerThread.run (null)
Timer-0:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] java.util.TimerThread.mainLoop (null)
[4] java.util.TimerThread.run (null)
traceMsgQueueThread:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run (null)
[4] java.lang.Thread.run (null)
Attach Listener:
Signal Dispatcher:
Finalizer:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (null)
[3] java.lang.ref.ReferenceQueue.remove (null)
[4] java.lang.ref.Finalizer$FinalizerThread.run (null)
Reference Handler:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:503)
[3] java.lang.ref.Reference$ReferenceHandler.run (null)
main:
[1] java.lang.Object.wait (native method)
[2] sun.plugin2.message.Queue.waitForMessage (null)
[3] sun.plugin2.message.Pipe$1.run (null)
[4] com.sun.deploy.util.Waiter$1.wait (null)
[5] com.sun.deploy.util.Waiter.runAndWait (null)
[6] sun.plugin2.message.Pipe.receive (null)
[7] sun.plugin2.main.client.PluginMain.mainLoop (null)
[8] sun.plugin2.main.client.PluginMain.run (null)
[9] sun.plugin2.main.client.PluginMain.main (null)
¿Que fait l'applet? – Alfabravo
Est-ce que votre code utilise n'importe quel type de réflexion (en particulier [Method.invoke] (http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html#invoke (java.lang .Object% 2C% 20java.lang.Object ...)) ou [Constructor.newInstance] (http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Constructor.html# newInstance (java.lang.Object ...)))? –
Je n'utilise explicitement ni Method.invoke ni Constructor.newInstance. Et je n'avais jamais entendu parler de réflexion jusqu'à ce que cette erreur apparaisse. – user1572503