2012-08-02 70 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

相关问题