0

当我尝试在本地表单环境中打开表单时,Oracle 表单崩溃。这之前对我有用,但是在重新安装表单环境后,我确实开始收到此错误。表单也在服务器上正常工作。我在 Java 控制台中收到以下错误:

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: oracle/bali/share/sort/StringComparator
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getDeclaredMethod(Unknown Source)
    at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
    at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
    at java.awt.Component.access$500(Unknown Source)
    at java.awt.Component$3.run(Unknown Source)
    at java.awt.Component$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Component.checkCoalescing(Unknown Source)
    at java.awt.Component.<init>(Unknown Source)
    at java.awt.Container.<init>(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.<init>(Unknown Source)
    at oracle.ewt.lwAWT.LWDataSourceChoice.<init>(Unknown Source)
    at oracle.ewt.lwAWT.LWChoice.<init>(Unknown Source)
    at oracle.ewt.comboBox.ComboBox.<init>(Unknown Source)
    at oracle.ewt.comboBox.ComboBox.<init>(Unknown Source)
    at oracle.forms.ui.VComboBox.<init>(Unknown Source)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at oracle.forms.handler.UICommon.instantiate(Unknown Source)
    at oracle.forms.handler.UICommon.onCreate(Unknown Source)
    at oracle.forms.handler.PopListItem.onCreate(Unknown Source)
    at oracle.forms.handler.ComboBoxItem.onCreate(Unknown Source)
    at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
    at oracle.forms.engine.Runform.processMessage(Unknown Source)
    at oracle.forms.engine.Runform.processSet(Unknown Source)
    at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
    at oracle.forms.engine.Runform.onMessage(Unknown Source)
    at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: oracle.bali.share.sort.StringComparator
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 51 more
Caused by: java.io.IOException: open HTTP connection failed:http://virtualxp-64805:8889/forms/java/oracle/bali/share/sort/StringComparator.class
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 55 more

我正在使用 Oracle Forms 10 第 2 版,并且在 Windows XP 模式下运行它。

4

1 回答 1

0

经过一番头疼后,我确实发现这是由 Oracle Forms 10 第 2 版 (10.1.2.0.2) 和 Java 6 之间的不兼容引起的。将列表项用作组合框时会发生错误。幸运的是,有一个修复程序,即在本地 Oracle Home 上应用 Oracle Developer Suite 10g 第 2 版 (10.1.2) 补丁集 3 (10.1.2.3.0)。不幸的是,这没有在表格下载网站上列出,因此很容易错过。

于 2013-01-14T07:49:58.783 回答