javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.connect.DBHelper.getConnection(DBHelper.java:15)
at com.connect.DemoConnect.main(DemoConnect.java:13)
java.lang.NullPointerException
什么是例外? 我正在尝试使用dataSource .. 这是我的context.xml文件.. 我在meta-inf文件夹中添加了xml文件,并在tomcat lib文件夹中添加了ojdbc14.jar ..
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/mydatasource"
auth="Container"
type="javax.sql.DataSource"
username="YOUR_USERNAME"
password="YOUR_PASSWORD"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:[oracletrg/oracle]@10.180.168.112[:1521]/orcl?autoReconnect=true"
maxActive="10"
maxIdle="4"/>
</Context>
答案 0 :(得分:0)
在您的应用程序服务器中定义了JNDI,然后您查找该错误。 请确保您的应用程序服务器已完成任何jndi。
如果无法创建初始上下文实现,则抛出此异常。 InitialContext类的文档中描述了如何选择初始上下文实现的策略。
在与InitialContext进行任何交互时,不仅在构造InitialContext时,都会抛出此异常。例如,只有在对其调用实际方法时,初始上下文的实现才可能懒惰地检索上下文。应用程序不应该依赖于何时确定初始上下文的存在。
http://download.oracle.com/javase/6/docs/api/javax/naming/InitialContext.html