我用jbuilder执行可以,但是在dos下却不能用java命令执行,出现提示:exception in thread "main" java.lang.NoClassDefFoundError;觉得好奇怪,后来试着把最简单的打印一个“hello world”执行一下也不行,出现同样的提示,jdk已经安装,path已经设好,用javac编译都能成功啊,为什么就不能执行呢?放在jbuilder中执行却好好的,狂郁闷
第二个问题是关于jdbc的,在jbuilderX10中执行总是提示:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.在网上查帖子说是sql升级问题,所以打了sp3补丁了,还是不行,在另一台机子上用jbuilder2005执行得好好的,一点问题也没有,后来用telnet查了端口号,总说1433不能连接,既然不能连接,为什么我用vb做却能连得上呢?郁闷啊郁闷,各位老大帮帮忙吧?

解决方案 »

  1.   

    应该说是你的环境变量没有设置好,JB是自带了JDK的,如果你又自己重新装了JDK的话,那么肯定其中有一个JDK不对头
      

  2.   

    肯定是你的classpath设置的不对!调整classpath
      

  3.   

    第一个问题,好像是这样的,直接利用jb的tomact,javac等,都好像有问题。
    那不妨再另外装jdk拉。
      

  4.   

    classpath中是这串:.;D:\j2sdk1.4.2_06\lib\msutil.jar;D:\j2sdk1.4.2_06\lib\mssqlserver.jar;D:\j2sdk1.4.2_06\lib\msbase.jar其中最前面的.;是楼上的仁兄建议后加进去的
    装后jdk后自己在path中加了这个:D:\j2sdk1.4.2_06\bin;
    而jbuilder中有个jdk1.4的文件夹,不知道是什么版本
    它们会冲突吗
      

  5.   

    jbuilder自带jdk,有个jdk文件夹不奇怪,至于什么版本要看你的jb的版本了
    一般都是通过设置javahome的值来指定用哪个版本的jdk来编译,不存在冲突
    如果你的classpath把两个都弄进去了就可能会出问题了
      

  6.   

    可能是你的机子里安装了不同版本的java包文件的原因,我以前的机器也出现过这样的问题,是我的机器里既有jdk,也有powerbuilder,两者就冲突了。删除一个后,正常。
      

  7.   

    总说1433不能连接,既然不能连接,为什么我用vb做却能连得上呢?1433是用JDBC DRIVER连接数据库时才用这个端口
      

  8.   

    在dos下不能运行的问题,可能是包路径的问题可以考滤一下sqlserver的配置问题
      

  9.   

    第一个问题应该是看看代码?第二个问题是sqlserver本身的问题,VB 和sqlserver是一家当然不能和java相比哦
    重新安装,打补丁
      

  10.   

    第一个问题,系统变量分“系统”和“用户”,如果在“系统变量”和“用户变量”里都定义了classpath,可能会有冲突,楼主可以试一下在“系统变量”和“用户变量”里都加入".;"至于第二个问题,同意楼上的
      

  11.   

    我在想,楼主是怎么java的?能不能把你的command贴出来?
      

  12.   

    第一个问题:你可以在doc下:用set -classpath="*class文件所在的目录"
    但是目录名中不能有空格;
    看试不试的出来;
    example:
     我的my.class放在d:/my下;
    doc下:
    d:>set -classpath=d:/my
    d:>java my.class