我按照所有Windows 2008上的 (http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/topic/com.ibm.worklight.help.doc/devref/t_transporting_apps_and_adapters.html - 部署IBM工作灯应用到测试和生产环境)的信息中心文档设置工作灯上的自由和Oracle数据库工作灯6.0不启动自由 - HSQLDB
当我开始了自由的服务器,我得到这个错误在浏览器上
异常由应用程序类抛出“com.worklight.core.auth.impl.AuthenticationFilter.doFilter:110” javax.servlet.ServletException:工作灯项目未初始化
at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:110) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194) at [internal classes]
通过日志,它显示它没有启动,因为没有找到HSQLDB驱动程序。
server.xml的有以下几点:
<application id="finance" name="finance" location="finance.war" type="war">
<classloader delegation="parentLast">
<commonLibrary>
<fileset dir="${shared.resource.dir}/worklight/lib" includes="worklight-jee-library.jar"/>
</commonLibrary>
</classloader>
</application>
<library id="worklight/OracleLib">
<fileset dir="${shared.resource.dir}/worklight/oracle" includes="*.jar"/>
</library>
<!-- Declare the IBM Worklight Console database. -->
<dataSource jndiName="worklight/jdbc/WorklightDS" transactional="false">
<jdbcDriver libraryRef="worklight/OracleLib"/>
<properties.oracle driverType="thin" URL="jdbc:oracle:thin:@localhost:1521:ORCLWL" user="WORKLIGHTDIS" password="WORKLIGHTDIS"/>
</dataSource>
我带了一步,并检查WAR文件链接到数据库的JNDI项的时间。去通web.xml文件中,我发现这一点:
<resource-ref>
<description>Worklight Server Database</description>
<res-ref-name>jdbc/WorklightDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
的RE-REF-name是从什么是在server.xml中声明略有不同。请记住,这些条目是由ant脚本创建的。这似乎与战争文件包含的内容不一致(由WL Studio创建)。
无论如何,我试了一下,并将server.xml jndi条目更改为与web.xml条目(jdbc/WorklightDS)完全相同。当我重新启动Liberty服务器时,它根本没有改变最终结果。错误消息和HSQL驱动程序不断显示在日志中。
这是例外
nested exception is java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.hsqldb.jdbcDriver not found in Worklight platform or project /finance
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
后来我发现,如果我改变的元素在server.xml成为它的工作原理所有的属性值工作灯。它有多奇怪。
<application id="worklight" name="worklight" location="finance.war" type="war">
请任何帮助,非常感谢,以帮助我理解和解决它。
Worklight默认使用HSQL。我建议你编辑你的问题,在你的项目中做出确切的修改,以便使用Oracle。 –
只是做到了。请检查问题 – GDM