本帖最后由 安宁.沉睡 于 2014-8-15 20:34 编辑
为什么定义了一个set calsspath 后不在一个文件夹下的两个调用关系的源文件可以编译,但还是不能运行?
定义一个Tool工具类在Tool文件夹下,定义一个Array主类在Array文件夹下,并在Array主类中调用Tool类的对象。
此时将设置set classpath=Tool文件下 , 命令路径在Array文件路径下
此时直接编译Array Tool类和Array类都会被编译
但为什么此时直接运行命令 java Array 却不行
如果将设置set calsspath=.;Tool 的话就可以顺利编译并执行 ,代码逻辑是没错的就是加载路径的问题吧
在路径D:\Tool 下创建Tool.java文件 , class Tool{void show(){System.out.println("成功");}}
在路径D:\Array 下创建Array.java文件, class Array{
public static void main(String[] args) {
Tool tool=new Tool(); tool.show(); }}
在命令符中执行 1. cd D:\Array
2. set classpath=D:\Tool
3. javac Array.java //成功编译两文件夹下都生成相应的class文件
4.java Array //失败 找不到或无法加载到主类 Array
5.set classpath=.;D:\Tool
6.重新编译,运行都可以
|
|