2017-09-06 1 views
-1

다음과 같은 오류가있는 프로젝트에서 작업하고 있습니다. 나는 인터넷을 추천했다. 그들이 한 말을 따랐다. 하지만 여전히 오류를주고있다. 내 하루 종일 낭비했다. 나에게 제안 해주세요.javax.naming.NameNotFoundException : 이름 "사용자의 db 이름"이이 컨텍스트에 바인딩되어 있지 않습니까?

의 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) com.cubs.util.DbUtil.getConnection (DbUtil.java:37) com. cubs.cubscore.UsersDb.getDepartmentId (UsersDb.java:3803) at com.cubs.cubscore.UsersDb.getMedicalDeptId (UsersDb.java:3823) at com.cubs.cubscore.Users.getMedicalDepartmentId (Users.java:1423) com.cubs.cubscore.Users.getAllMedicalAdministrators (Users.java:1447) org.apache.jasper.runtime.HttpJspBase.service에서 org.apache.jsp.dashboard_jsp._jspService (dashboard_jsp.java:82) 에서 (에서 HttpServlet.java:70) org.apache.jasper.servlet.JspServletWrapper.service (JspService javax의 에서 org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:260에서 ) 에서 vletWrapper.java:386) org.apache.catalina.core.ApplicationFilterChain.doFilter에서 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) 에서 .servlet.http.HttpServlet.service (HttpServlet.java:717) ( org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191에서 org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) ) 에서의 ApplicationFilterChain.java:206) org.apache.catalina.core에서 6,org.apache.catalina.core.StandardHostValve.invoke org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)에서 (StandardHostValve.java:127) org.apache.coyote.http11.Http11Processor.process에서 .StandardEngineValve.invoke org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:298)에서 (StandardEngineValve.java:109) (Http11Processor.java : org.apache.tomcat.util.net.JIoEndpoint $ Worker.run에서 org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:588) 에서 859) (JIoEndpoint.java:489)java.lang.Thread.run에서(Thread.java:748) 2017년 9월 6일 22시 14분 30초 FATAL DbUtil - javax.naming.NameNotFoundException : 이름 nascocrm이 컨텍스트에 바인딩되지 됩니다 java.lang.NullPointerException이

+0

이 질문은 어떤 컨텍스트를 제공하지 않습니다, 당신이 등, 달성하려고하는, 또는 누군가가 당신을 도울 것은 거의 불가능하다, 지금까지 시도 무엇인지에 대한 정보를 제공하시기 바랍니다 –

답변

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

관련 문제