- - PR -
import
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-12-25 19:07
Gです。
今更ながらなのですが、自ら作ったクラスファイルを再利用する際にimportを利用するため下記の表記でコーディングしたのですが、コンパイルエラーが返ってきてしまい、作業がとまってしまいました...。 import jp.co.xxxxx.MyLib.xml; エラーメッセージは次の通りです。 パッケージjp.co.xxxxx.MyLib.xmlは存在しません。 JAVA初心者の私には、パッケージがないという事しか分からないのですが、一応下記のフォルダ構成にしています。 c:\jp\co\xxxxx\MyLib\xml\ コンパイルしようとしているファイルも上記の場所にあります。 どなたか、こんな私をよろしくお願いします...。 | ||||||||
|
投稿日時: 2002-12-25 19:19
こんばんは。
自作したクラスを取り込むためと思われますが、それなら import jp.co.xxxxx.MyLib.xml.*; になります。 ただ、Gさんはこれから自作ライブラリを作成されるようですので、importではなく、 package jp.co.xxxxx.MyLib.xml; という記述を、ソースコードの最初に書かなければなりません。 とりあえず、今判明している情報から回答を。 | ||||||||
|
投稿日時: 2002-12-26 10:17
Gです。
BBCさん、ご返答ありがとうございます。 まさしくBBCさんのおっしゃる通り自作ライブラリを作成しようとしています。 早速importをpackageへ書き直してみたのですが、またまたエラーが出てしまいました。 > 'class' または 'interface' がありません。 interfaceは何も作ってないのですが、classは既にあるのに...何故に...。 | ||||||||
|
投稿日時: 2002-12-26 11:10
言われたとおりやってみてというのが腑に落ちませんが、
packageとimporrtをもう一度整理してみたほうがよいような。 自作ライブラリとしたいクラスにはpackage文が必要になりますし、 利用するクラスにはimportが必要です。 | ||||||||
|
投稿日時: 2002-12-26 11:58
うーん、このソースコードはpackage宣言を外したときに正常にコンパイル作業を終了しますか? 基本的にjavaの基本構造は、
が基本形だと思いますが、Gさんが遭遇したエラーは、class宣言(class class名)部分が、 正しく記述されていないためと考えられます。 とりあえず、javacした結果は全て貼り付けた方が、解決の糸道をつかみやすいので、 あまり省略するのは良くないと思いますが・・・。 #恥ずかしいのは良く分かるのですが パッケージは、昔僕も1週間ほどハマッた記憶があるので(笑)、悩んでみてください。 とりあえずヒントになりそうなリンクを↓ メールマガジン『Java言語Q&A』 Google :java package 作り方 [ メッセージ編集済み 編集者: BBC 編集日時 2002-12-26 12:07 ] [ メッセージ編集済み 編集者: BBC 編集日時 2002-12-26 12:07 ] | ||||||||
|
投稿日時: 2002-12-26 12:36
Gです。
まりり>言われたとおりやってみてというのが腑に落ちませんが、 まりり>packageとimporrtをもう一度整理してみたほうがよいような。 確かにpackageとimportをハッキリと理解できていません(^^; import jp.co.xxxxx.MyLib.xml; 上記記述を package jp.co.xxxxx.MyLib.xml; このように書き直ししただけです...。 BBC>うーん、このソースコードはpackage宣言を外したときに BBC>正常にコンパイル作業を終了しますか? 別の.javaファイルに宣言しているclassを利用していますので、このファイルのみではコンパイルできないです。 BBC>javacした結果は全て貼り付けた方が、解決の糸道をつかみやすいので、 エラーメッセージだけで大丈夫かな、と勝手に判断してました。 すみません。 BBC>とりあえずヒントになりそうなリンクを ありがとうございます、早速サイトを確認して理解を深めます。 お手数をおかけして、ごめんなさい。 | ||||||||
|
投稿日時: 2002-12-26 12:56
Javaのパッケージの概念はCのポインタと並んで初心者の誰もが引っ掛かる壁なんですね。
僕自身もコードは間違ってないはずなのにコンパイルできない、コンパイルできたら今度は起動できないといった問題で悩んだことがあります。 Javaはファイル名ではなくパッケージとクラス名で実行形式を管理しています。 packageとimportを「こう書けば動く」ではなくてどうしてそう書かなければいけないのかをじっくり理解した方がいいと思います。 SDKドキュメントのSDKツールのページから「クラスパスの設定」「クラスの検索方法」をちゃんと読めば理解できると思いますよ。 一度理解すれば難しくはありません。ですが、次は自分のライブラリのパッケージ名をどうしようかという問題に直面すると思います… | ||||||||
|
投稿日時: 2002-12-26 13:05
書き込んでから気付いたんですが、ソースコードのディレクトリ構成が、
>c:\jp\co\xxxxx\MyLib\xml\ になっているようですが、これだとコンパイル時のクラスパスの指定が「c:\」になっていないと見つかりません。 コンパイル時にクラスパスを指定せず環境変数等でカレント指定にしていると、コンパイル時のカレントディレクトリが「c:\」でないといけません。 基本的なことですが、念のため | ||||||||
