Java开发中经常遇到ClassNoFound的异常问题

1.编译源代码时,发生的问题
   首先使用java -version查看,如果可以正确显示版本,表示你的jdk的路径是正确的。也就是说你的Path是正确的。
   而ClassPath的设定是错误的。
   Path和ClassPath到底有什么区别呢?其时这个非常简单,但是也非常重要。
   Paht其时是一个公用的环境变量,他的作用就是为在DOS环境下执行一些命令提路径。比如:
   你上面执行的java这个命令,他是在你jdk的安装目标中。。如果你指定好Path那么你只要在命令行环境下输入java,那根据你设定好的PATH,会自动定位到这个java命令。意思就是当你输入java后,系统会自动的搜索所有PATH中的目录,一旦在一个目录下找到,就运行该命令。

   而ClASSPATH则是Java专用的路径,他也就是JAVA环境中一些常用的JAR文件的存放地,相当于我们开发C或者C++链接DLL存放的目录。。也就是指JAVA开发环境中常用的一些库的存放地(而JAVA会将一些库打包成JAR)

  所以当你能执行java -version表明你的PATH设定的正确的,但是JAVA编译和执行时的一些常用库他找不到,也就是说CLASSPATH设定不正确,以致于JAVA的环境无法找到相应的库(也就是相当于你执行一个WINDOW程序时经常碰到的提示XX.dll找不到这样的,但是JAVA他不提示,他就直接给你一个异常。)

2.连接数据时的一些问题
  常见的是代码都写好了,编译也OK,结果执行还是会发生ClassNoFound的问题,其时这也是ClassPATH那里在做怪。
  所以你不管连接那个数据库,数据库的厂商都会提供一个JDBC的JAR,来帮助你使用JAVA来连接数据库。而常发生的ClassNoFound这种异常就是因为没找到这个JAR文件,怎么办,你其时只要把他加到CLASSPATH,让JAVA在运行时能找到他就好了,加到那里其时并不象那些网上文章中说的,什么jdk里也放阿,什么TOMCAT那里也放阿什么的。。
你明白原理就好了,那就是能让他出现在CLASSPATH中,比如你CLASSPATH中指定了一个目标,那么只要你把他拷贝进去就OK了,但是一般来说,这个也是有些常用的规范问题的,具体你可以参考公司的规范文档。。
  String url = "jdbc:oracle:thin:@localhost(实例所在的机器名):1521:oracle9i(实例名)";
 //一般都用think方式,一般Oracle和WEB服务器肯定是不在同一机器上,所有WEB服务器上肯定没安装ORACLE客户端
  try {
   Class.forName("oracle.jdbc.OracleDriver");
   conn = DriverManager.getConnection(url, 用户名, 密码);

继续补充中。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值