我试图了解一下
java编译的内幕.所以我放弃了我的IDE并开始使用MS-DOS命令行…
我创建了一个简单的项目,如下面的树所述:
SampleApp
|____**src**
|_____pack
|______Sample.java
|____**classes**
这是Sample.java源代码:
public class Sample
{
private String s = new String("Hello, world");
public Sample(){
System.out.println(s);
}
}
我只想编译这个类,所以我使用了javac命令:
prompt\SampleApp\src>javac -d ..\classes -sourcepath . pack\Sample.java
一切正常,但我没想到,因为我在编译Sample.java文件之前删除了我的CLASSPATH环境变量.所以我期待编译器错误,因为编译器无法找到java.lang.String类文件.
我读了这篇文章http://www.ibm.com/developerworks/java/library/j-classpath-windows/,这让我了解了很多东西.文章作者说默认的类路径是当前的工作目录.但我不明白为什么我的源代码编译没有错误.有人可以向我解释一下吗?