私は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
CLASSPATH
すべて正常に動作しますが、Sample.javaファイルをコンパイルする前に環境変数を削除したため、予期していませんでした。そのため、コンパイラがjava.lang.Stringクラスファイルを見つけることができないため、コンパイラエラーが発生することが予想されていました。
この記事http://www.ibm.com/developerworks/java/library/j-classpath-windows/を読んだので、多くのことを理解するのに役立ちました。記事の作成者によると、デフォルトのクラスパスは現在の作業ディレクトリです。しかし、なぜ私のソースコードがエラーなしでコンパイルされるのか理解できません。誰かが私にこれを説明できますか?