我自己代码都放在 d:/javawork 下的,
测试 有 Box 代码,脸面就一个 Box类
   
package classpackage;
class Box {
 ...
}然后一个 TestBox.java  也放在同一层中 
import classpackage.*;import java.util.Scanner;public class TestBox {
 ......
}然后 我用 JCreator  先编译 Box 文件  自动创建一个 classpackage 文件夹  下面有 一个 Box.class 然后 编译和运行 TestBox 可以的,,
,,
但是子啊 命令行中  javac Box。javac           1  不会自动创建包的???  而是 生成 .class在 当前  目录下的......        2  即使我在编译前已经自己创建好一个 classpackage 文件夹  但还是不可以的        3  对于TestBox 更不可以了,都编译不了??
求解!!!!!!!!!!!!!!!!!!! 
           

解决方案 »

  1.   

    对于含有 package信息的类的编译,以及依赖其他类的编译用命令行是比较费事的,所以用eclipse这样的IDE如果你非得要尝试命令行编译,你需要首先需要建立一个跟package名称相同的文件夹(手动建立,别想其他的寄希望javac给你创立,不可能),比如包名称为p1,具体目录d:/p1 ,然后在p1下写一个java文件,内容package p1;public class Hello{
        public static void main(String[] args){
             System.out.println("HelloWorld");
        }
    }具体编译的时候,cmd 切换到d:这个目录,也就是跟包文件夹同目录的水平,然后javac p1/Hello.java
    这样会在p1下面生成Hello.class文件
    执行的时候,还是在d:这个目录下,执行java p1/Hello  就可以执行了这个例子只是考虑了包路径,没有考虑依赖其他class 或者jar包的情况,你参考学习变通一下就可以执行你那个东西了你的问题在于,有package但没有手动建立 同名的目录,还有javac java的时候没有 带包名