用gwt开发,部署环境使用的是jndi, 而gwt 1.6自带的jetty缺省是不支持jndi设置的。
1. copy jetty-naming-6.1.11.jar jetty-plus-6.1.11.jar两个文件到 war/WEB-INF/lib目录下去。
这步一定注意,单纯把jar文件加到项目的classpath是无用的,其他类都可以从项目的classpath装载,这两个类不可以。
另外gwt 1.6自带的jetty是6.1.12以下版本的,所以只能用6.1.11.
2. 在web-inf下创建一个 jetty-web.xml . 我用的是oracle, 使用oracle自带的连接池就可以了。 如果用h2的话, 应该可以使用spring的singleConnectionDatasource, 稍后再试。
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<New id="REPORT" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/reportdb</Arg>
<Arg>
<New class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
<Set name="URL">jdbc:oracle:thin:@localhost:1521:oralce10
</Set>
<Set name="User">reportdb</Set>
<Set name="Password">reportdb</Set>
</New>
</Arg>
</New>
</Configure>
第一个问题搞死人了:(