当我尝试在本地表单环境中打开表单时,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 模式下运行它。
经过一番头痛之后,我确实发现这是由于 Oracle Forms 10 Release 2 (10.1.2.0.2) 和 Java 6 之间不兼容引起的。当将列表项用作组合框时,会发生该错误。幸运的是,有一个修复方法,即在本地 Oracle 主目录上应用 Oracle Developer Suite 10g 第 2 版 (10.1.2) 补丁集 3 (10.1.2.3.0)。不幸的是,这没有在表格下载网站上列出,因此很容易错过。
就我而言,我解决了以下问题:
附加信息: 但是,我还有其他一些潜在的问题,如下所示: 表的底层用户被锁定,我通过命令解锁了用户 更改用户用户名帐户解锁;
在查看fmb文件内部代码的过程中,我将fmb文件复制到不同的机器中,并使用不同的用户名在oracle forms 12c中顺利打开,没有任何问题。但是,如果您保存该文件,它将不再在 Developer 10g 中工作。