- ベストアンサー
シンボルを解決できません(初心者)
一つのプログラムに対して、いくつかのファイルに分けて 記述されているとき、 たとえば、ファイル A.java と B.java があって 【A.java】 package shop; ・ ・ public class Shop { ・ ・ ・ } 【B.java】 packeage shop; ・ ・ public class Buy(Shop shop){ } という感じで、A.java内で定義したクラス型を他のファイルで使うと、 コンパイル時に、「シンボルを解決できません」というコンパイルエラーが出て コンパイルできません。 こういう場合はどうすれば、良いのでしょうか? 初心者なので、非常に初歩的な質問かと思いますがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>今後、いろいろなWEBアプリを作る際に、そのたびCLASSPATHを >追加していくのでしょうか? 追加していく必要はあります。 今作成されているWEBアプリとは別にアプリを作成しようとした場合 、あらたに「CLASSPATH」を追加してあげないとコンパイルできません。 javac自体がどこにファイルがあるのかわからないので指定してあげないとだめですね。
お礼
ご返答ありがとうございます。 それに関しましては、ここへ書き込む際の純粋な記述ミスです。 また、B.java内でも、 public class XXX{ public void YYY(Aで定義したクラス そのクラス型変数){ ・・・・ } } と一般的な使い方です。 ソースの内容には全く記述ミスはありません。 (配布サンプルです。完全に完成されたソースですので) とにかく、エラーは、ファイルAで定義されたクラス(クラス型)を ファイルBで使う(?)箇所ごとに 「シンボルを解決できません」と出ます。 あれから、いろいろしてみて、 「CLASSPATH」にこのファイル群が入っているフォルダの親フォルダのパスを 追加してみると、エラーなくコンパイルできました。 しかし、今後、いろいろなWEBアプリを作る際に、そのたびCLASSPATHを 追加していくのでしょうか? ほかに良い対処法がございましたらお教えください。