小弟不才
早上看了一点java关于package方面的书
也写了一个小程序package studyA;public class HelloWorld{   public static void main(String args[]) {
System.out.println("Hello World"); 
    }}但是编译的时候没有错,一运行就显示:
Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld(wrong name:studyA/HelloWorld)
在网上搜了一下,说是路径错误
我在环境变量里加上classpath  C:\LK\A 还是不行
不知道为什么?
求求各位大哥大姐了,
帮帮小弟弟吧。

解决方案 »

  1.   

    什么意思啊,大哥
    我java真的很菜阿
    麻烦你说清楚啊
    set classpath=%classpath%;.
    要写到那呢啊?
      

  2.   

    你先在windows cmd 环境下敲java 看看有没有作用,然后试一下这个:
    java HelloWorld -classpath studyA
      

  3.   

    你说的set classpath=%classpath%;.
    是在环境变量里加呢?还是写在程序中阿
    真的很郁闷阿
      

  4.   

    to: chzwin(成志) 
    不行啊。
    还是老错误
      

  5.   

    你要在studyA 同级目录执行我刚才的那个命令
      

  6.   

    我就是在studyA 同级目录执行的阿我现在很迷惑
    如果我想要把一些java程序封装在某个包里
    是不是物理上也需要给这些程序新建一个文件夹比如:
    我要把HelloWorld1.java,HelloWorld2.java,HelloWorld3.java,
    三个程序都封装在studyA 包里
    是不是需要新建一个文件夹studyA 
    然后把HelloWorld1.java,HelloWorld2.java,HelloWorld3.java,
    三个程序放在studyA 里呢?
    java真难啊!
    打击救救我把!
      

  7.   

    所以要使用ide工具阿,这些繁琐的事情,就完全没有必要再过问它了。
      

  8.   

    to:myhotsun(科科)
    谢谢阿
    那你也顺便帮我看看我这程序有什么问题吧
    为什么运行不了
    不要惜字如金么
      

  9.   

    c:/java/hello>java my.Hello
    这样运行我也试了
    还是不行
      

  10.   

    在studyA的上级目录试试java studyA.HelloWorld
      

  11.   

    好了,谢谢
     zengxftm(rainbow)大哥
      

  12.   

    你的程序没有任何问题。
    package studyA;public class HelloWorld{   public static void main(String args[]) {
    System.out.println("Hello World"); 
        }
    }
    假如你的工作目录是c:\work
    HelloWorld.java最好放在c:\work\studyA目录下,编译后的class文件必须放在studyA目录下。
    执行的时候你如果你的classpath要包含c:\work这个目录,那以可以在任何路径下执行java HelloWorld,如果你的classpath包含当前路径(.)没有包含c:\work这个目录,那你必须这么执行c:\work>java HelloWorld
      

  13.   

    其实java中的package我的理解就相当于Windows操作系统下的文件夹
    所以你在执行带包的class时,要指定它的路径。
    个人理解  希望大家批评指教。。
      

  14.   

    解决的办法是:
    1、如果你的程序(HelloWorld.java)放在在c:\java文件夹里。首先通过cd c:\java命令进入该目录里;
    2、在命令行里编译:javac HelloWorld.java
    3、正确后,在当前目录里建立个文件夹,名字与你的package相同。在这里是在c:\java文件夹中建立studyA文件夹,把你编译得到的文件(HelloWorld.class)放在studyA文件夹中
    4、再在命令行里 运行:java studyA.HelloWorld
    要注意一个问题就是设置classpath的问题:
    右键点“我的电脑”, 选 “属性”  选“高级”面板中的”环境变量“,在系统变量中,如果有CLASSPATH变量,就看看变量值里有没有包含   .;   如果没有,你就在前面添加。如果没CLASSPATH变量你就自己新建一个,并把上面说到的.;添加上
    我的系统是window xp