※ ChatGPTを利用し、要約された質問です(原文:javacコマンドの<-d>オプションについて)
javacコマンドの-dオプションについて
2011/02/20 13:59
このQ&Aのポイント
javacコマンドの-dオプションに関する問題について紹介します。
-dオプションで指定したディレクトリが存在しない場合、自動的にそのディレクトリを作成します。
しかし、環境によってはディレクトリ作成がうまく行われないことがあります。条件によって挙動が変わる可能性があるため、注意が必要です。
現在ojc-p(旧sjc-p)の資格取得に向けて勉強をしています。
javacコマンドの<-d>オプションに関して、以下のような問題があり、回答に納得がいかないため、ご教授頂きたいと思います。
-----------以下、問題-----------
カレントディレクトリをprojectとしたときに、Fooクラスを以下のコマンドでコンパイルした。この時の説明として正しいものを選びなさい。
【ディレクトリ階層】
project
└src
└Foo.java
【実行コマンド】
javac -d build src/Foo.java
【ソースコード】
1. package x.y.z;
2.
3. public class Foo{
4. // more code here
5. }
【選択肢】
A) buildディレクトリが存在していないため、コンパイルエラーになる
B) projectディレクトリいかにbuild/Foo.classファイルが作成される
C) projectディレクトリ以下にbuild/x/y/zFoo.classファイルが作成される
D) srcディレクトリいかにbuild/Foo.classファイルが作成される
E) srcディレクトリ以下にbuild/x/y/z/Foo.classファイルが作成される
-----------ここまで-----------
自分の考えでは、-dに指定されたbuildディレクトリが存在していないためコンパイルが通らない、つまり、回答はAであると考えていたのですが、実際の回答は「C」でした。
同問題の解説を見ると、「-dオプションで引数に指定したディレクトリが存在しない場合には、自動的にそのディレクトリを作成します」とあります。
自分の環境では、-dオプションの引数に存在しないディレクトリ名を指定すると、いくらやっても「ディレクトリがありません」と表示されてしまいます。
-dオプションで存在しないディレクトリが作成されるには、何かしらの条件が必要なのでしょうか。
質問の原文を閉じる
質問の原文を表示する
お礼
回答の締めが遅くなって申し訳ありません。出版社から参考書の回答が誤っているとの返答がきました。皆様のご指摘通りでした。お力添えありがとうございました。
補足
回答ありがとうございます。問題集は比較的新しく(恐らく現時点で最新?)JavaSE6のものなので、お話から推測するに作成されないはずだと思うのですが…