我下载并安装了 JDeveloper 11.1.2.3.0(我没有许可证。我只想使用 ADF 做演示应用程序,我没有将它用于商业目的)
然后我完成了以下 Oracle 教程(使用 EJB、JPA 和 JavaServer Faces 构建 Web 应用程序): http ://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_51/jdtut_11r2_51_2.html
在第 3 步:运行并测试页面时,我在 JDeveloper 日志中得到以下信息:
<ViewHandlerImpl> <_checkTimestamp> Apache Trinidad is running with time-stamp checking enabled. This should not be used in a production environment. See the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
<11.01.2013 18:25:26 ALMT> <Notice> <EclipseLink> <BEA-2005000> <2013-01-11 18:25:26.552--ServerSession(14553247)--EclipseLink, version: Eclipse Persistence Services - 2.1.3.v20110304-r9073>
<11.01.2013 18:25:26 ALMT> <Notice> <EclipseLink> <BEA-2005000> <2013-01-11 18:25:26.557--ServerSession(14553247)--Server: 10.3.5.0>
<MessageFactory> <getMessage>
java.lang.IllegalStateException
at oracle.jbo.uicli.binding.JUSearchBindingCustomizer.getViewCriteria(JUSearchBindingCustomizer.java:1980)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl.getFilterCriteria(FacesCtrlSearchBinding.java:1325)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer._getFilterCriteria(BaseColumnRenderer.java:1871)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer._renderFilterField(BaseColumnRenderer.java:1755)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.renderColumnFilterCell(BaseColumnRenderer.java:1206)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.encodeAll(BaseColumnRenderer.java:163)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
...
这是我的 web.xml(org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION 部分)
<context-param>
<description>If this parameter is true, there will be an automatic check of the modification date of your JSPs, and saved state will be discarded when JSP's change. It will also automatically check if your skinning css files have changed without you having to restart the server. This makes development easier, but adds overhead. For this reason this parameter should be set to false when your application is deployed.</description>
<param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
<param-value>false</param-value>
</context-param>
值为假。我试图切换到 true,但它仍然给我同样的错误。
如何解决这个问题呢?