- PR -

同じパッケージに入っているJavaプログラム同士がコンパイルできない

投稿者投稿内容
petfalcon
会議室デビュー日: 2004/02/05
投稿数: 7
投稿日時: 2005-09-28 13:58
いや、初心者なので、パッケージなのかと思っただけです。
本の章立てを見て、継承や例外などの章には関係ないと思いましたので。

もちろん、パッケージ以外の所も一通り見ましたが、
今回の内容は、書いてありませんでした。

Eclipseでやると上手くいくので、漠然とした疑問がありましたが、
ANTやEclipseを使っていると、遭遇しない問題なのかなとも思いました。
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2005-09-28 14:57
引用:

ukさんの書き込み (2005-09-28 12:58) より:
引用:

こんな事は、色々な本のパッケージの章を読んでみても、書いていませんでした。
(結構、重要なことだと思いますが)


それはそうでしょう。パッケージとは基本的に無関係ですから。
ちなみにどうしてパッケージの章に書かれているべきだと考えられたのでしょうか。



うーん、まあ、どちらかというとimportの話かもしれませんが
無名パッケージからパッケージ宣言を使い始めたときにハマりやすいところなので、
入門書であればパッケージ宣言についての章で触れるのが適切だろうと思います。
だいたいimportとpackageはセットで説明することが多いですし。

私も入門書を読みあさった訳じゃないので断言できませんが、
大抵の入門書では触れていたような…?
私が見た範囲では、「やさしいJava」と「明解 JAVAプログラミング入門」では
パッケージおよびimport宣言の説明と一緒に説明していたように覚えています。

ところで、petfalconさんが見た「いろいろな本」って何ですか?
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-09-28 15:12
引用:

Eclipseでやると上手くいくので、漠然とした疑問がありましたが、
ANTやEclipseを使っていると、遭遇しない問題なのかなとも思いました。


EclipseなどのIDEは、クラス間の依存関係を自動的に認識して適切に処理してくれます。
javacでコンパイルする場合には、人間がそれをやる必要があるだけです。Antを使って
いても同じだと思いますが。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-09-28 15:14
引用:

koeさんの書き込み (2005-09-28 14:57) より:
うーん、まあ、どちらかというとimportの話かもしれませんが


importはもっと関係ない話だと思いますが、どの辺に関係あると思われていますか?
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-09-28 15:31
引用:

こんな事は、色々な本のパッケージの章を読んでみても、書いていませんでした。(結構、重要なことだと思いますが)



「パッケージ」が章になっているような入門書であれば、「クラスパス」もそれだけで章立てされていそうな気がしますけどね。その色々な本では、クラスパスのお話はどの章にまとめられちゃっているんでしょう。

入門書には、クラスパス関連の知識として -cp と -classpath の振る舞いの違いや lib/ext, カレントディレクトリの扱い などは書いてないのかなあ。
petfalcon
会議室デビュー日: 2004/02/05
投稿数: 7
投稿日時: 2005-09-28 18:06
初心者なので、有名どころの本(入門編の)は、殆ど読んでいます。

確かに、パッケージとクラスパスの話には、どの本も触れていたと思いますが、
今回の問題である「同じパッケージにあるプログラムを利用するケース」については、
触れていないと記憶しています。
大抵、別のパッケージにあるプログラムを、import指定を使ってコンパイルする
話で終わっています。
ここで、話が終わってしまうと、「同じパッケージにある場合」は、
どうやってimport指定(コンパイル)すれば良いのか分からなくなります。
(今回は、教えて頂き本当に助かりました)

ただ、普通はEclipseを使うので、扱わなくても(書籍で)問題ないのかもしれませんが。
ibara
常連さん
会議室デビュー日: 2002/11/15
投稿数: 26
投稿日時: 2005-09-28 20:39
私も同じようなことを悩んだ経験はあるので、パッケージやimportの問題ではないかと思ってしまう感覚は理解できます。
ただ

別のパッケージにあるプログラムを、import指定を使ってコンパイルする

時はどのようにせよ、と書いてあるのか興味がありますね。
同じ話だと思うのですが・・・。

uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-09-29 10:57
ソースコード内でどのように記述するかという話と、コンパイル時のオプション設定や
ソースファイル、クラスファイルの配置をどうするか、という話がごっちゃになっている
ようですね。後者はパッケージが同じか違うか、importを使っているかどうかとは根本的に
異なる問題なのです。

引用:

大抵、別のパッケージにあるプログラムを、import指定を使ってコンパイルする
話で終わっています。


おそらく、この本も「別パッケージのクラスを単純名で使用するにはどのようにプログラム
を記述するか」ということを解説しているのではないか、と思うのですが。

スキルアップ/キャリアアップ(JOB@IT)