javac -d java1.zhang.java
java java1.zhang

解决方案 »

  1.   

    你在java文件里边指明了包,但是实际运行的时候并没有指明
      

  2.   

    怎么还是不行啦?
    我是按照上位兄弟说的:
     javac -d java1.zhang.java
      java  java1.zhang
    此程序编译通过,运行出现错误提示:
      Exception in Thread "main" java.lang.NoClassDefFounderError:java1/zhang或者这样:
     javac  zhang.java
      java   java1.zhang
    也出现同样的错误。请教,是不是配置出问题。
      

  3.   


    这样:
    javac zhang.java -d .   //这样javac会自动生成目录java1,并将zhang.class放在其中
    java java1.zhang        //有包的类使用时,需要在前面加上包名
      

  4.   

    运行通过,就是不明白为什么要用 javac zhang.java -d . 参数 -d .的作用是在当前目录下生成java1子目录,为什么一定要生成? 
      是不是每个package都要对应一个目录,好像很多书都没提到这一点。并且运行的时候一定要在package对应子目录的父目录中。
      

  5.   

    我以前好像在哪本书里看到过不能建立java开头的包,不知道大家有没有听说到过这样的说法
      

  6.   

    这是路径问题,需要运行的文件或者包必须在查找路径中(CLASSPATH和当前路径),虽然你编译过的文件在当前路径,但是你的路径不符合包(它认为你是解开包的),所以不可以运行;而创建了包名的路径后,符合当前路径下的包的路径,所以可以运行。
      

  7.   

    告诉你一个简单的办法, 下载一个forte4.0(sun网站有),安装好, 启动forte... 按ctrl+2,出现资源管理器,在根结点上点右键,mount你的那个文件所在路径.(例如你是在: c:\aaa\java1\ccc.java 中,则mount c:\aaa), 点中ccc.java, 按F6!!  ok!!!!!!!!!!!!!!