• ベストアンサー

コンパイルが通らない原因は?

初心者な質問で大変申し訳ありません。 宜しければ教えていただけますでしょうか? 現在、Javaの学習をしていまして、 教材のソースをコンパイルしたところ、 エラーになってしまい困っております。 内容としましては、 サーブレットとBeansの連携プログラムです。 サーブレット:MvcControl1.java Beans:MvcBean1.java サーブレットでMvcBean1をインスタンス化して いるので、先にMvcBean1をコンパイルし、 次に同フォルダ(Dir)内のMvcControl1をコンパイル しようとしたところ、 MvcControl1.java:17: シンボルを解決できません。 シンボル: クラス MvcBean1 場所 : chap8.MvcControl1 の クラス MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 ^ MvcControl1.java:17: シンボルを解決できません。 シンボル: クラス MvcBean1 場所 : chap8 の パッケージ MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 ^ エラー 2 個 と、エラーが出てしまいます。 MvcControl1と同じディレクトリーに MvcBean1のクラスファイルを置いているのですが、 何が原因かわかりません。 宜しければ教えて頂けませんでしょうか? お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • junijuni
  • ベストアンサー率25% (12/48)
回答No.2

chap8というフォルダを作ってその中にMvcBean1を移動させて見ましょう。 たぶんコンパイルはとおるようになると思います。 詳しい説明は…自信がないので勉強してください。

arukana
質問者

お礼

ありがとうございます。 参照先が同フォルダと勘違いしていたようです。 同フォルダ内に更に"chap8"というフォルダを作成し、 MvcBean1のクラスファイルを置いたところ、 問題なくコンパイルが通りました。 どうもありがとうございました。

その他の回答 (4)

回答No.5

No.3のものです後者のほうの記述間違えました chap8.MvcBean1 mvcbean = new chap8.MvcBean1(); です。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.4

No.1のarukamunです。 補足して頂いたCLASSPATHを分解してみると CLASSPATH= .; C:\j2sdk1.4.1_02\lib\toolbar; C:\Program Files\Tomcat 4.1\common\lib\servlet.jar; C:\jakarta-log4j-1.2.8\dist\lib\log4j-1.2.8.jar; C:\Program Files\SQLLIB\java\db2java.zip; C:\Program Files\SQLLIB\java\runtime.zip; C:\Program Files\SQLLIB\java\sqlj.zip; C:\Program Files\SQLLIB\bin で一番最初にカレントディレクトリにパスが通っていますね。 これでも同じようにエラーが出てしまうんですよね。 C:\j2sdk1.4.1_02\lib とかがたりないのかなぁ?

arukana
質問者

お礼

問題解決できました。 どうもご丁寧にありがとうございます。 また何かありましたらよろしくお願い致します。

回答No.3

>MvcControl1.java:17: シンボルを解決できません。 >シンボル: クラス MvcBean1 >場所 : chap8.MvcControl1 の クラス >MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 >^ >MvcControl1.java:17: シンボルを解決できません。 >シンボル: クラス MvcBean1 >場所 : chap8 の パッケージ >MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 ^ >エラー 2 個 見た感じでは片方がパッケージ付きでもう片方はパッケージついてないのが原因では。 importでパッケージを指定しているのであればnew chap8.MvcBeanっていう指定はしなくていいと思うけど。 多分こうかな import chap8; ////////////////// 省略 ///////////////// MvcBean1 mvcbean1 = new MvcBean1(); または chap8.MvcBean1 mvcbean = new bean8.MvcBean1(); 同じ行数でエラーが発生しているのでおそらくつじつまが合ってないだけだと思います。

arukana
質問者

お礼

ご丁寧に説明ありがとうございます。 理解することができました。 またよろしくお願い致します。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは 環境変数のCLASSPATHはどうなっていますか? コマンドプロンプトで SET CLASSPATH と実行して見てください。 カレントディレクトリを示す.ピリオドが入っていますか。 入っていなければ、 SET CLASSPATH=%CLASSPATH%;. とやってみて、コンパイルして見てください。

arukana
質問者

補足

CLASSPATH=.;C:\j2sdk1.4.1_02\lib\toolbar;C:\Program Files\Tomcat 4.1\common\lib\ servlet.jar;C:\jakarta-log4j-1.2.8\dist\lib\log4j-1.2.8.jar;C:\Program Files\SQL LIB\java\db2java.zip;C:\Program Files\SQLLIB\java\runtime.zip;C:\Program Files\S QLLIB\java\sqlj.zip;C:\Program Files\SQLLIB\bin となっています。 他に何か足りないPATHがありましたら ご指導お願い致します。

関連するQ&A