微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jetty mysql连接池配置错误:javax.naming.NameNotFoundException;剩余名称’env / jdbc / —(mysql 5.0 jetty 7.0.1)

我的配置文件

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

MysqLsql.DataSource

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

MysqL" class="org.eclipse.jetty.plus.jndi.Resource">
    MysqLMysqL.jdbc.DriverMysqL://localhost:3306/db

调用代码

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下):

figurationjava.lang.String">
          figurationfigurationMetaInfConfigurationfigurationfigurationfigurationfigurationfiguration

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

原文地址:https://www.jb51.cc/mysql/432843.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐