javax.naming.NameNotFoundException:名称“用户的数据库名称”未绑定在此上下文中?

问题描述:

我正在处理有以下错误的项目。我提到互联网。跟着他们说什么。但它仍然在给出错误。浪费了我整整一天的时间。请给我建议。javax.naming.NameNotFoundException:名称“用户的数据库名称”未绑定在此上下文中?

的server.xml:

<GlobalNamingResources> 
    <Context docBase="targetapp" path="/targetapp" reloadable="true"/> 
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/> 
    <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="1" maxIdle="30" maxWait="10" name="jdbc/test" password="root" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/test" username="root"/> 
    </GlobalNamingResources> 

错误日志:

javax.naming.NameNotFoundException:姓名测试是不是在 org.apache.naming.NamingContext.lookup在此背景下 约束(NamingContext.java:770)at org.apache.naming.NamingContext.lookup(NamingContext.java:140)at org.apache.naming.NamingContext.lookup(NamingContext.java:781)at org.apache.naming .NamingCo ntext.lookup(NamingContext.java:153)at com.cubs.util.DbUtil.getDataSource(DbUtil.java:61)at com.cubs.util.DbUtil.getConnection(DbUtil.java:37)at com。 (用户.java:1423)。(用户名:.doc)在 com.cubs.cubscore.Users.getAllMedicalAdministrators(Users.java:1447) 在org.apache.jsp.dashboard_jsp._jspService(dashboard_jsp.java:82) 在org.apache.jasper.runtime.HttpJspBase.service( HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.jasper.servlet.JspServletWrapper.service(JspSer vletWrapper.java:386) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 在的javax .servlet.http.HttpServlet.service(HttpServlet.java:717)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core .StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :859) 在 org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:588)在 org.apache.tomcat.util.net.JIoEndpoint $ Worker.run (JIoEndpoint.java:489 ) 在java.lang.Thread.run(Thread.java:748)2017年9月6日22点14分三十〇秒FATAL DbUtil - javax.naming.NameNotFoundException:名称nascocrm不 在这种情况下必然会显示java.lang.NullPointerException

+0

这个问题不提供任何情况下,请提供你尝试过什么迄今为止的信息,什么是你想实现的,等等,或者这将是几乎不可能有人来帮你 –

我添加了这个文件META-INF文件夹然后错误不会回来。

上下文。XML:

<?xml version="1.0" encoding="UTF-8"?> 
<Context path="/myapp" docBase="myapp" 
    crossContext="true" reloadable="true" debug="1"> 
      <Resource driverClassName="com.mysql.jdbc.Driver" 
      maxActive="100" maxIdle="30" maxWait="10000" 
      name="jdbc/test" 
      type="javax.sql.DataSource" 
      url="jdbc:mysql://localhost:3306/test" username="root" password="root" /> 

</Context> 
+0

是的,它会,如果你继续使用'测试'。此资源具有不同的名称。 – EJP