目录结构
F:\test\zy\dto\Demo1.java
测试源代码
package zy1.dto2;
public class Demo1{
public static void main(String[] args){
System.out.println("Demo1 run!!!!");
}
}
在F:\test运行
javac .\zy\dto\*.java
会默认在F:\test\zy\dto\目录下生成Demo1.class,如果指定编译路径f:\test\out
javac -d f:\test\out .\zy\dto\*.java
则会在f:\test\out下生成和zy1.dto2.Demo1对应的包路径结构F:\test\out\zy1\dto2\Demo1.class
此时似乎只能在F:\test\out的classpath路径下运行
java -cp f:\test\out zy1.dto2.Demo1
才能执行,否则会显示‘错误: 找不到或无法加载主类’。
结论:
1.编译时需要指定输出路径-d才会生成与包(package)对应的路径。
2.运行时似乎需要在classpath下,路径和包(package)严格匹配才能执行。