竹形誠司 ブログ
ご質問    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
「Java+MySQL+Tomcatで作る掲示板とブログ」p95で躓きました・・
by rapuntuleru[rapuntuleru]
「Java+MySQL+Tomcatで作る掲示板とブログ」p95でBbsArticleList.javaをコンパイルする必要があると思うのですが、これをjavacでコンパイルしようとすると、下記のようなエラーメッセージが出てコンパイルできません。
 もし、原因に検討がつきましたら、回答よろしくお願いします。

C:\jamyto2\classes\bbs\G>javac -d /jamyto2/jsp/WEB-INF/classes BbsArticleList.ja
va
BbsArticleList.java:11: シンボルを解決できません。
シンボル: クラス BbsArticle
場所    : jamyto2.BbsArticleList の クラス
        private BbsArticle article = new BbsArticle();
                ^
BbsArticleList.java:41: シンボルを解決できません。
シンボル: クラス BbsArticle
場所    : jamyto2.BbsArticleList の クラス
        public BbsArticle getArticle(){
              ^
BbsArticleList.java:11: シンボルを解決できません。
シンボル: クラス BbsArticle
場所    : jamyto2.BbsArticleList の クラス
        private BbsArticle article = new BbsArticle();
                                        ^
エラー 3 個
投稿:rapuntuleru[rapuntuleru]/2007年 04月 01日 07時 06分 /更新:2007年 04月 01日 07時 06分
Re:「Java+MySQL+Tomcatで作る掲示板とブログ」p95で躓きました・・
by KILROY[KILROY]
 それは、BbsArticleList.java と同じ場所に BbsArticle.java がないから起きるのだと思います。
 Java のコンパイラは、Java のソースコード中で別の Class を参照しているのを見つけると、その Class の .class ファイルを探し、その .class ファイルの中身から、当該コードをどうコンパイルするかを決定します。で、そのとき .class ファイルが見つからない場合、そのクラスの .java ファイルを探してコンパイルします。
 ですから、この場合は
 BbsArticleList.java をコンパイルしようとする→ BbsArticle って何だ?→ BbsArticle.class はどこだ?→ない!じゃあ BbsArticle.java はどこだ?→ない!→「シンボルを解決できません」。
ということになっているわけです。

 このあたり、リンカがどうとかオブジェクトのタイムスタンプがこうとか巡回参照がなんだとかいったややこしい話が山ほどあるのですが、割愛します。ただ、一つだけ注意事項。

 「あるソースファイルを直した結果、うまくいかなくて元の古いファイルで上書きするとき、古いファイルを直接コピーするとたぶん変なことが起きる。必ず、古いファイルは『一度エディタで開いて、そのまま修正せずにセーブする(あるいは、touch コマンドを使う)』などして、日付・時刻を最新にしておくこと。」

 これでハマっちゃうヒトが(職業プログラマでも)けっこういます。お気をつけを。
投稿:KILROY[KILROY]/2007年 04月 01日 09時 58分 /更新:2007年 04月 01日 09時 59分
Re^2:「Java+MySQL+Tomcatで作る掲示板とブログ」p95で躓きました・・
by KILROY[KILROY]
 結果の先取りになるので1から学習している方には言うべきことではないかもしれないが、フォルダ X にある完成形の BbsArticleList.java をコンパイルするのに必要なファイルは、
BbsArticle.java (最新は X フォルダの中)
BbsSettings.java ( S フォルダの中)
SessionTimeoutException.java ( H )
SimpleEmail.java ( Q )
TextConv.java (最新は D )
である。
 参考まで。
投稿:KILROY[KILROY]/2007年 04月 01日 10時 45分 /更新:2007年 04月 01日 10時 45分
RE:「Java+MySQL+Tomcatで作る掲示板とブログ」p95で躓きました・・
by rapuntuleru[rapuntuleru]
回答ありがとうございます。

解決しました!また質問で書き込むかもしれませんが、その時も、もしよければよろしくお願いします。

ありがとうございました。
投稿:rapuntuleru[rapuntuleru]/2007年 04月 02日 00時 23分 /更新:2007年 04月 02日 00時 23分