【问题标题】:Codename One: Bad type on operand stack javax/swing/JScrollBar.getAccessibleContext()代号一:操作数堆栈 javax/swing/JScrollBar.getAccessibleContext() 上的错误类型
【发布时间】:2018-02-04 04:27:28
【问题描述】:

检查我的 Codename One 应用程序(该应用程序已经运行了一年多),我意识到它不会再启动了。当我尝试在 Eclipse 中启动它时,我得到了以下堆栈跟踪:

线程“AWT-EventQueue-0”java.lang.VerifyError 中的异常:操作数堆栈上的类型错误 异常详情: 地点: javax/swing/JScrollBar.getAccessibleContext()Ljavax/accessibility/AccessibleContext; @16:放置字段 原因: 类型“javax/swing/JScrollBar$AccessibleJScrollBar”(当前帧,堆栈 [1])不可分配给“javax/accessibility/AccessibleContext” 当前帧: bci:@16 标志:{} 本地人:{'javax/swing/JScrollBar'} 堆栈:{'javax/swing/JScrollBar','javax/swing/JScrollBar$AccessibleJScrollBar'} 字节码: 0x0000000: 2ab4 001f c700 0f2a bb00 6259 2ab7 0063 0x0000010: b500 1f2a b400 1fb0
堆栈图表: 同帧(@19) 在 com.codename1.impl.javase.JavaSEPort.(JavaSEPort.java:411) 在 com.codename1.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:69) 在 com.codename1.ui.Display.init(Display.java:475) 在 com.codename1.impl.javase.Executor$1.run(Executor.java:112) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 在 java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 在 java.awt.EventQueue.access$500(EventQueue.java:97) 在 java.awt.EventQueue$3.run(EventQueue.java:709) 在 java.awt.EventQueue$3.run(EventQueue.java:703) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:726) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

现在解决问题:我没有在代码中的任何地方使用java.swing.JScrollBar。我什至搜索了我所有的课程。我真的不知道如何解决这个问题。 StackTrace 甚至没有引用我编写的类,只是 Java 和 CodenameOne 类。这是 CO1 中的错误还是我的代码?

我想知道为什么它在应用程序运行了一年没有故障之后突然出现(没有以任何方式更新应用程序)它不再工作了。

【问题讨论】:

  • 请提供代码以便我们提供帮助。在这里我们只能回答“你的操作数堆栈上有一个错误的类型”。

标签: java eclipse codenameone


【解决方案1】:

这似乎是与 Eclipse 相关的issue。可能是一些类加载问题,其中不同的 JRE 混合在一起。

这个answer 包含一个变通方法,Eclipse 问题中也提到了它。

【讨论】:

  • 仅供参考,这已在新创建项目的插件的较新版本中修复,但我们无法自动修复旧项目
猜你喜欢
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2023-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
相关资源
最近更新 更多