eclipse导入myeclipse的项目出现Name [jdbc/TestPool] is not bound in this Context. Unable to find jdbc

如题,eclipse导入myeclipse的项目。通过Project Facets进行转换,将其转换为web项目。

在进过一系列处理后,将problem里的红叉叉给处理后,启动tomcat就报了个“class path resource [spring-MVC.xml] cannot be opened because it does not exist”的异常。

查看了代码“public static ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("spring-MVC.xml");

我将其改写为

public static ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("classpath*:spring-MVC.xml");”

但还是报了个“No bean named 'XXXService' is defined”,因此我将其代码还原,将spring-MVC.xml移动到src目录下(之前改文件在web-info的目录下)

这下算是解决了文件路径查看问题,但接着又报了个"Name [jdbc/TestPool] is not bound in this Context. Unable to find jdbc"。

这异常的解决方法:

第一步:在java代码里将

Context context= new InitialContext();
ds = (javax.sql.DataSource) context.lookup("java:comp/env/jdbc/TestPool");

改为

Context context = new InitialContext();
Context envContext = (Context)context.lookup("java:comp/env");      
ds = (javax.sql.DataSource) envContext.lookup("jdbc/TestPool");

第二步,打开tomcat的service.xml,添加以下配置:

第三步,打开tomcat的context.xml,添加以下配置:

就这样,项目启动成功了。

你可能感兴趣的:(java,springMVC,eclipse,jdbc/TestPool)