Exception in thread "main" java.lang.NoClassDefFoundError: tooltest
为什么不显示ToolTest而是 tooltest

解决方案 »

  1.   

    你要把文件放到正确的目录
    ab/bc/P.java
      

  2.   

    编译完了计算机不会把.CLASS文件放到你打包的目录下
    必须你自己放到正确的目录下ab/bc/P.java
      

  3.   

    你ToolTest.java的文件名是不是T都大写
    如果不打jar包的话你的class要放到ab/bc下
      

  4.   

    先把两个文件放同一个目录下,要注意文件名和类名要匹配,大小写也要保持一致编译P.java
    两种方法:
    1.javac P.java
    生成P.class,放到ToolTest.java所在目录的ab\bc\子目录下
    (例:ToolTest.java在C:\aaa,则P.class应该在C:\aaa\ab\bc下)
    2.javac -d . P.java
    这个会自动帮你建好和包名相匹配的目录的,也就是自动完成上面那一步了然后注意,把当前目录下的P.* 全部删除(或换个地方)
    否则编译器找到当前目录下的P.java或者P.class,会自动先调用这一个的,然后发现包名不匹配,接着又开始报错最后编译ToolTest.java
    javac ToolTest.java就可以了
      

  5.   

    还一种方法,两个文件一起编译
    两个文件放同一个目录,目录下最好没有其他java文件了
    然后javac -d . *.java
    这样会在当前目录下生成这样的东西:
    一个ToolTest.class
    一个目录:ab\bc\P.class
    直接执行java ToolTest或者java ab.bc.P就可以了
      

  6.   

    我也设了CLASSPATH,当输入java ToolTest时,出现如下信息:
    “Exception in thread "main" java.lang.NoClassDefFoundError: tooltest
    这个怎么回事?系统确认的和你的文件名好像不一致哟.
    这种test程序不用打包那么麻烦!
    再仔细检查程序,注意Java 规范!
    classpath要有ab.bc以上的目录哟!
      

  7.   

    如果用import 包.*;包中放入java文件.
      

  8.   

    你用一下jcreator这个软件来辅助你一下,你再用dos命令吧
      

  9.   

    建议先适用IDE来进行编译,执行,然后理解其语句的含义。(一种自学的方法。)