2012-08-02 66 views
1

我做了一個Swing小程序,它將在Eclipse中運行,沒有任何問題,但是當我使用Chrome運行一個html文件時,我得到一個運行時異常:java.lang.reflect.InvocationTargetException。任何人都可以提出什麼是錯的嗎?這是我曾嘗試:Applet在Eclipse中運行良好;但在Chrome中運行給了InvocationTargetException

  • 我讀過的InvocationTargetException環繞一些 其他錯誤(不同的錯誤造成的呢),但我不知道哪個 方法把try {}趕上(的InvocationTargetExceptionË ){e.toString()}得到一個 有用的錯誤。

  • 在線材料建議我用加多寶產生堆棧跟蹤,但 又似乎不包含任何有用的信息,以找到異常的原因:

堆棧跟蹤

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) 
+0

¿小程序有什麼作用? – Alfabravo 2012-08-02 22:05:00

+0

您的代碼是否使用任何反射(特別是[Method.invoke](http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html#invoke(java.lang .Object%2C%20java.lang.Object ...))或[Constructor.newInstance](http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Constructor.html#的newInstance(java.lang.Object中...)))? – 2012-08-02 22:05:57

+0

我沒有明確使用Method.invoke或Constructor.newInstance。在這個錯誤出現之前,我從來沒有聽說過反思。 – user1572503 2012-08-02 22:31:07

回答

0

問題是我在初始化init()方法之外的變量。看來Eclipse沒有這個問題,但用瀏覽器運行它 Java Plug-In會拋出一個java.lang.reflection.InterruptedThreadException

相關問題