Java 类直接执行,为什么不能调用有连接数据库的类?

tony_1201 2011-10-22 08:12:15
请问各位大虾:
public static void main(String args[]) throws Exception {

调用Java 类



Java 类 {

调用数据库 执行Sql语句


执行出错?
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

怎么解决?
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星上的唯一 2011-10-26
  • 打赏
  • 举报
回复
5楼正解,在main方法中做测试的时候可以直接用JDBC连数据库
休谱诺斯 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kouyisc 的回复:]
报错的意思是:配置参数不对。。。

检查环境:如果JNDI方式那么在lookup的时候要加入java:comp/env/,还有就是你的jdk配置路径对不对。。。path中用;号隔开。。。

大概原因. 你把你的连接数据库放在jsp网页运行应该没有问题。。你放在java类中,报错为java.naming.factory.initial没有初始化,所以为null,tomcat的jndi这个是t……
[/Quote]
应该是这个问题
kouyiSC 2011-10-26
  • 打赏
  • 举报
回复
报错的意思是:配置参数不对。。。

检查环境:如果JNDI方式那么在lookup的时候要加入java:comp/env/,还有就是你的jdk配置路径对不对。。。path中用;号隔开。。。

大概原因. 你把你的连接数据库放在jsp网页运行应该没有问题。。你放在java类中,报错为java.naming.factory.initial没有初始化,所以为null,tomcat的jndi这个是tomcat容器启动时候初始化的,,而你java类中执行,,当然不行。

理解jndi的用法了,jndi是要特定环境上下文来创建的
像jboss的jndi.properties文件就得这么定义,main方法中才能运行
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

wangluy27 2011-10-25
  • 打赏
  • 举报
回复
想不通lz为什么要直接在main方法进行调试,如果有用到框架或者用的连接池连接的数据库,这样直接调试是无法取得数据库连接的。
tony_1201 2011-10-25
  • 打赏
  • 举报
回复
就是调试,调用有连接数据库的Java 类就会出错。
lveclipse 2011-10-25
  • 打赏
  • 举报
回复
没有明白你要表达什么
tony_1201 2011-10-25
  • 打赏
  • 举报
回复
自己顶一下

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧