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.

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...