Jetty mysql连接池配置错误:javax.naming.NameNotFoundException;剩余名称’e

我的配置文件

项目/ WEB-INF / web.xml文件:

项目/ WEB-INF /码头-env.xml:


要调用的代码:

ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
con=ds.getConnection();

脚本启动jetty:

java -DOPTIONS=plus -jar start.jar

java -jar start.jar

无论哪种方式开始码头,我都有以下错误:

javax.naming.NameNotFoundException; remaining name 'env/jdbc/mysql'
        at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:632)
        at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:663)
        at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:678)
        at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:110)
        at javax.naming.InitialContext.lookup(Unknown Source)

问题是:

>这里有什么问题?
>还需要其他配置吗?
>放置以下jar文件的位置:

> commons-dbcp-1.2.2.jar
> mysql-connector-java-5.1.10-bin.jar

谢谢!

最佳答案
注意:以下假设您使用的是Jetty 7.2.2(可能适用于任何Jetty 7.0).

问题是你错过了一个额外的间接层.即使你已经在webapp中配置了Jetty,你仍然需要告诉Jetty容器它需要在你的webapp中查找jetty-env.xml.为此,请将以下内容添加到您的jetty.xml(${JETTY_INSTALL_DIR} / etc下):


现在Jetty将知道解析你创建的jetty-env.xml.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。