avax.naming.NameNotFoundException: Name is not bound in this Context
控制台报错为“avax.naming.NameNotFoundException: Name is not bound in this Context”
package com.ncs.util;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class util {
public static Connection getPoolConnection() throws Exception{
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/StrutsTestPool");
Connection conn=ds.getConnection();
return conn;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<context>
<Resourse
Java code?1
auth="Container"
name="jdbc/StrutsTestPool"
type="javax.sql.DataSourse"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.81.94:1521:uatdb2"
username="oscusr2"
password="password"
/>
</context>
这个错是很有可能这个名称
java:comp/env/jdbc/StrutsTestPool
所映射的实际资源找不到才报的,因为看名称貌似没啥错
javax.sql.DataSourse
Sourse是不是拼错了,应该是Source
此类问题不一定是代码的问题,也有可能是工具版本的问题。比如,我以前装的是jdk1.7版本的,服务器是jboss-4.0.5的。运行自己写的ejb小例子,每次都报NameNotFoundException,后来我把jdk换成了1.6,服务器换成了jboss-4.2.3.GA版本的eclipse里面的jdk也要设置成安装的1.6版本。再运行就好了。
你上网查下,什么样的版本搭配是最好的,再写代码。