说实话百度没有百度明白,迷迷糊糊的。
我的jdk是1.6.0_10
安装目录是c:\program files\java\jdk1.6.0_10
java_home为c:\program files\java\jdk1.6.0_10
path为%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN
classpath为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar我平时做练习放代码的地方是e:\wzl\myjava,平时编译生成的.class也在这里面.今天看到自定义包,教程上说
"根据包的定义,java编译器在java指定的类路径下建立包.例如,按照package p1定义包,则在classpath指明的路径下生成p1子目录.按照package p1.p2定义包,则在classpath指明的路径下生成目录p1
,目录p1包含目录p2,所有的文件都存储在p2目录下."
我没找到,
然后我去百度,有人说在当前目录下生成目录,难道是e:\wzl\myjava  还是java的安装路径
真搞不明白.现在做练习,要求自定义包,这下可把我难住了...//School.java
//设置录取分数线
package jully.school;
import java.util.Scanner;
public class School
{
static float scoreLine;
static float setScoreLine()
{
System.out.println("请设置录取分数线!");
Scanner sc=new Scanner(System.in);
scoreLine=sc.nextFloat();
return scoreLine;
}
public static void main(String args[])
{
System.out.println("当前录取分数线为"+setScoreLine());
}
}
编译成功,运行之后Exception in thread "main" java.lang.NoClassDefFoundError:School<wrong name:jully/school/School>
这编译器说的真清楚!!!!!!!!!!!!有高手指点一二吗,谢谢!

解决方案 »

  1.   

    打开cmd...cd到e:\wzl\myjava下
    运行javac School.java
    然后运行java School出错
      

  2.   

    你School的包时 jully.school他必须被放置与 jully\school 这样的目录结构下比如你在 e:\jully\school\School.java那么就在e:下javac jully\school\School.java
    java jully.school.School就可以了包可不是随便乱来的 = =
      

  3.   

    ok,我知道了要么我手动新建文件夹,
    要么我可以用 javac -d . School.java,
    他就会在e:\wzl\myjava下自动创建文件夹并package了谢谢杨晨晨