使用IDEA部署tomcat产生异常:NameNotFoundException

使用tomcat部署项目时,出现如下异常:

HTTP Status 500 - javax.naming.NameNotFoundException: Name [jdbc/mp] is not bound in this Context. Unable to find [jdbc].


type Exception report

message javax.naming.NameNotFoundException: Name [jdbc/mp] is not bound in this Context. Unable to find [jdbc].

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.RuntimeException: javax.naming.NameNotFoundException: Name [jdbc/mp] is not bound in this Context. Unable to find [jdbc].
	com.google.common.base.Throwables.propagate(Throwables.java:160)
	com.xinhunbao.jersey.AppFilter.openConnection(AppFilter.java:78)
	com.xinhunbao.jersey.AppFilter.doFilter(AppFilter.java:42)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在网上找到相关解答比较少,尝试了很多办法,如果单独用tomcat启动项目没有问题,但是使用IDEA配置的tomcat启动就会报此异常。最后找到解决办法如下:

1.在tomcat安装目录下进入conf-catelina文件夹,创建demo.xml文件。文件配置如下,仅供参考:

<Context path="/demo" docBase="/D:/work/demo/target/demo" reloadable="true">
  <Resource name="jdbc/mp" auth="Container" type="javax.sql.DataSource"
            username="root" password="123456" driverClassName="com.mysql.cj.jdbc.Driver"
            url="jdbc:mysql://192.168.1.58:3306/demo?useUnicode=true&characterEncoding=UTF-8"/>
</Context>
2.在IDEA中点击Edit Configurations----Deployment,在Application context:后添加/demo,然后便可以成功运行。

猜你喜欢

转载自blog.csdn.net/frozenkevin/article/details/53502358