用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>

第一个问题搞死人了:(