Oracle Forms 在尝试打开表单时崩溃

问题描述 投票:0回答:2

当我尝试在本地表单环境中打开表单时,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 模式下运行它。

oracleforms
2个回答
0
投票

经过一番头痛之后,我确实发现这是由于 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)。不幸的是,这没有在表格下载网站上列出,因此很容易错过。


0
投票

就我而言,我解决了以下问题:

  1. 将 fmb 文件复制到不同位置,没有 fmx 文件,
  2. 然后将文件从 test.fmb 重命名为 test1.fmb,
  3. 然后就打开没有问题了。

附加信息: 但是,我还有其他一些潜在的问题,如下所示: 表的底层用户被锁定,我通过命令解锁了用户 更改用户用户名帐户解锁;

在查看fmb文件内部代码的过程中,我将fmb文件复制到不同的机器中,并使用不同的用户名在oracle forms 12c中顺利打开,没有任何问题。但是,如果您保存该文件,它将不再在 Developer 10g 中工作。

© www.soinside.com 2019 - 2024. All rights reserved.