我正在尝试深入了解 Java 编译。所以我把我的 IDE 放在一边,开始使用 MS-DOS 命令行......
我创建了一个简单的项目,如下面的树中所述:
示例应用程序
|____**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
一切正常,但我没想到,因为我CLASSPATH
在编译我的 Sample.java 文件之前删除了我的环境变量。因此,由于编译器无法找到 java.lang.String 类文件,因此我期待编译器错误。
我读了这篇文章http://www.ibm.com/developerworks/java/library/j-classpath-windows/它帮助我理解了很多事情。文章作者说默认的类路径是当前工作目录。但我不明白为什么我的源代码编译没有错误。有人可以向我解释一下吗?