今日、Javaのパッケージに関する話題がTwitter上で出ていた。
Javaのソースファイル(javaファイル)を置くディレクトリー構成とパッケージ構成は一致している必要は無いんだけど、よくその必要があると誤解されている。
Javaのclassファイルのディレクトリー構成とパッケージ構成は一致している必要がある。
と思っていたら、javacの-sourcepathで指定するソースディレクトリーでは、パッケージ構成と一致している必要があるそうだ。(→phenanさんのツイート・backpaper0さんのjavacの-sourcepathを試す)
JDK1.5のドキュメントにもそう書いてあった。
これは知らなかった…。
Eclipseとかのツールでソースファイルの場所とパッケージ構成が一致してないとエラーになるのが誤解を招いて良くないと思ってたけど、Eclipseが-sourcepath相当の挙動なのであれば、実は正しいのかもしれない。
※コメント投稿者のブログIDはブログ作成者のみに通知されます