我使用的是 JDeveloper 11.1.1.7.0,它具有嵌入式 10.3.5 WebLogic Server。
当我通过右键单击页面并在嵌入式 WLS 中运行...来测试应用程序时,一切都运行良好。它适用于任何页面和任何流程。
现在,我必须在外部 10.3.6 WLS 中部署相同的应用程序。
首先,我使用 JDeveloper 向导将应用程序打包到 EAR 中。我已在应用程序中右键单击 --> 部署 --> MyApplication... --> 选择部署到 EAR。
然后,当构建 .ear 文件时,我运行 startWebLogic(我之前使用 ADF 运行时选项创建了一个域)并将 .ear 部署为应用程序。
我有很多警告,但最后的消息是部署没问题。
因此,令我惊讶的是,在我测试的第一个页面中,在第一次访问 Java 类中的 ADF 迭代器/ View 时,出现了 NullPointerException:
DCIteratorBinding iter = ADFUtils.findIterator("BusinessDataView1Iterator");
ViewObject vo = iter.getViewObject(); -- iter is null
这在嵌入式 10.3.5 WLS 中多次有效。
10.3.6 WLS 控制台输出是这样的:
19-feb-2014 15:04:26 oracle.adfinternal.controller.metadata.MetadataServiceImpl$Bootstrap logActivityWarnings
WARNING: ADFc: /WEB-INF/adfc-config-reportes.xml:
...
...
...
...
ADVERTENCIA: ADFc: /WEB-INF/adfc-config.xml:
19-feb-2014 15:04:26 oracle.adfinternal.controller.metadata.MetadataServiceImpl$Bootstrap logBeanWarnings
ADVERTENCIA: ADFc: Se ha detectado una definicion de bean gestionado duplicada para 'backing_views_administracion_inicio'.
...
...
...
...
19-feb-2014 15:04:30 oracle.adfinternal.controller.util.WebAppConfigFactory createConfig
INFO: ADFc: Se estß utilizando la vista '<null-value>' como la pßgina inicial de la aplicaci¾n.
19-feb-2014 15:04:32 oracle.adf.share.jndi.ReferenceStoreHelper getReferencesMapEx
ADVERTENCIA: Incomplete connection reference object for connection:MY_DB_JDBC
19-feb-2014 15:04:47 oracle.adfinternal.controller.application.AdfcExceptionHandler handleException
GRAVE: ADFc: al manejar una excepci¾n, el manejador de excepciones de la aplicaci¾n ha devuelto una nueva excepci¾n.
java.lang.NullPointerException
at com.mypackage.Gestion.<init>(Gestion.java:37)
在点部分之间,有一些类似的警告。
我已经检查了 .ear 文件(包含 .war),将其解压缩(也包含 .war)在不同的文件夹中,并在任何文件中按文本搜索重复项,并且 adfc-config.xml 在 .ear
.
我该如何解决这个问题?在外部 WLS 中部署时有人遇到过类似的问题吗?
最佳答案
嗯,我的问题终于解决了。
步骤是:
- 将 WL 10.3.6 配置为 JDeveloper 中的嵌入式 WLS。
- 在 WLS 中配置诊断:http://jdeveloperfaq.blogspot.com.es/2009/12/faq-7-how-to-configure-adf-diagnostics.html
- 在 WLS 10.3.6 中运行应用程序。现在,有很多日志,我在 DataBindings 文件中看到了问题。 AppModule 连接名称和对该 AppModule 的 DataBinding 引用不匹配。修复它:http://www.emmersonmiranda.net/2011/07/jbo-33005-configuration-appmodulelocal.html
- 然后,经典的 JNDI 失败。使用连接名称的一些约定来命名 JDBC 数据源非常重要。看到这个:http://mrk-group.blogspot.com.es/2011/11/unable-to-lookup-data-source-at-context.html
终于成功了。
关于java - 在外部 WLS 中打包和部署 ADF 应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21883866/