- - PR -
同じパッケージに入っているJavaプログラム同士がコンパイルできない
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-28 13:58
いや、初心者なので、パッケージなのかと思っただけです。
本の章立てを見て、継承や例外などの章には関係ないと思いましたので。 もちろん、パッケージ以外の所も一通り見ましたが、 今回の内容は、書いてありませんでした。 Eclipseでやると上手くいくので、漠然とした疑問がありましたが、 ANTやEclipseを使っていると、遭遇しない問題なのかなとも思いました。 | ||||||||
|
投稿日時: 2005-09-28 14:57
うーん、まあ、どちらかというとimportの話かもしれませんが 無名パッケージからパッケージ宣言を使い始めたときにハマりやすいところなので、 入門書であればパッケージ宣言についての章で触れるのが適切だろうと思います。 だいたいimportとpackageはセットで説明することが多いですし。 私も入門書を読みあさった訳じゃないので断言できませんが、 大抵の入門書では触れていたような…? 私が見た範囲では、「やさしいJava」と「明解 JAVAプログラミング入門」では パッケージおよびimport宣言の説明と一緒に説明していたように覚えています。 ところで、petfalconさんが見た「いろいろな本」って何ですか? | ||||||||
|
投稿日時: 2005-09-28 15:12
EclipseなどのIDEは、クラス間の依存関係を自動的に認識して適切に処理してくれます。 javacでコンパイルする場合には、人間がそれをやる必要があるだけです。Antを使って いても同じだと思いますが。 | ||||||||
|
投稿日時: 2005-09-28 15:14
importはもっと関係ない話だと思いますが、どの辺に関係あると思われていますか? | ||||||||
|
投稿日時: 2005-09-28 15:31
「パッケージ」が章になっているような入門書であれば、「クラスパス」もそれだけで章立てされていそうな気がしますけどね。その色々な本では、クラスパスのお話はどの章にまとめられちゃっているんでしょう。 入門書には、クラスパス関連の知識として -cp と -classpath の振る舞いの違いや lib/ext, カレントディレクトリの扱い などは書いてないのかなあ。 | ||||||||
|
投稿日時: 2005-09-28 18:06
初心者なので、有名どころの本(入門編の)は、殆ど読んでいます。
確かに、パッケージとクラスパスの話には、どの本も触れていたと思いますが、 今回の問題である「同じパッケージにあるプログラムを利用するケース」については、 触れていないと記憶しています。 大抵、別のパッケージにあるプログラムを、import指定を使ってコンパイルする 話で終わっています。 ここで、話が終わってしまうと、「同じパッケージにある場合」は、 どうやってimport指定(コンパイル)すれば良いのか分からなくなります。 (今回は、教えて頂き本当に助かりました) ただ、普通はEclipseを使うので、扱わなくても(書籍で)問題ないのかもしれませんが。 | ||||||||
|
投稿日時: 2005-09-28 20:39
私も同じようなことを悩んだ経験はあるので、パッケージやimportの問題ではないかと思ってしまう感覚は理解できます。
ただ 別のパッケージにあるプログラムを、import指定を使ってコンパイルする 時はどのようにせよ、と書いてあるのか興味がありますね。 同じ話だと思うのですが・・・。 | ||||||||
|
投稿日時: 2005-09-29 10:57
ソースコード内でどのように記述するかという話と、コンパイル時のオプション設定や
ソースファイル、クラスファイルの配置をどうするか、という話がごっちゃになっている ようですね。後者はパッケージが同じか違うか、importを使っているかどうかとは根本的に 異なる問題なのです。
おそらく、この本も「別パッケージのクラスを単純名で使用するにはどのようにプログラム を記述するか」ということを解説しているのではないか、と思うのですが。 |