[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00153] Re: Generated servlet error



徳@東芝ITソリューションです。

> 下記がコンパイルしたときのエラー内容です。
> ここから------------------------------------------
> ProductListBeans.java:47: cannot resolve symbol
>
> symbol  : variable KanjiConv
> location: class test.ProductListBeans
>     category = KanjiConv.ConvJStr(category);
>                ^
> 1 error
> ここまで---------------------------------------------

すみません、私も説明が不足していました。
おそらく、今現在横山さんは以下のような状態でjavacを行っていると思います。
    $CATALINA_HOME/webapps/sect8/src/以下にて、
    >javac ProductListBeans.java
パッケージtestに上記及びもう一つのクラスを収めた場合、上記では上手くいきません。
以下のようにして下さい。
1.$CATALINA_HOME/webapps/sect8/src/以下に、testディレクトリを作成する。
2.先ほどの2つのクラスの.javaファイルをtest以下に移動する。
3.以下の方法でコンパイルする。
    $CATALINA_HOME/webapps/sect8/src/にて、
    >javac test/ProductListBeans.java
4.$CATALINA_HOME/webapps/sect8/WEB-INF/classes以下に、testディレクトリを作成する。
5.$CATALINA_HOME/webapps/sect8/src/test/の.classファイルを、
  $CATALINA_HOME/webapps/sect8/WEB-INF/classes/test/以下にコピー又は移動する。

javacコマンド自体の使用方法については、J2SDKのAPI取説にツールの説明がありますので、
詳細はそちらを参照願います。

ちなみに、Antのエラーは、CLASSPATHが通っていないためです。
#$ANT_HOME等は、設定されていますか?
#build.shの内容が不明な為、これ以上はわかりませんが、
#単純な設定漏れだと思われますよ。

以上。

//徳 淳@TOSHIBA IT-SOLUTIONS CORPORATION<Toku.Kiyoshi@xxxxxxxxxxxxxxxx>
----- Original Message ----- 
From: "横山貴士" <yokoyama@xxxxxxxx>
To: <jfriends@xxxxxxxxxxxx>
Sent: Friday, June 20, 2003 7:31 PM
Subject: [jfriends:00152] Re: Generated servlet error


> 横山です。徳さま、御丁寧な解説ありがとうございます。
>
> > 後者の方法としては、たとえばhogeパッケージに含めるとすると、
> > 1.まずProductListBeansクラスのソースの先頭に「package hoge;」と一行追加し、コンパイルする。
> いきなり1でつまずいてしまいました。ProductListBeans.javaに「package test;」を追加しました。
> 私がちゃんと説明していかなかったのもあるのですが、このProductListBeans.javaは
> 同一ディレクトリにあるKanjiConvクラスを参照しています。
> (参照という表現があってるのかわかりませんが
> ProductListBeansのソースにKanjiConvクラスがあります。)
>
> 下記がコンパイルしたときのエラー内容です。
> ここから------------------------------------------
> ProductListBeans.java:47: cannot resolve symbol
>
> symbol  : variable KanjiConv
> location: class test.ProductListBeans
>     category = KanjiConv.ConvJStr(category);
>                ^
> 1 error
> ここまで---------------------------------------------
>
> ここでKanjiConv.javaにも「package test;」を追記して、ProductListBeans.java
> をコンパイルしましたが、結果は上記と同じでした。
> 今の私には、上記のエラーを解決する術がわからず、教えて君と
> なってしまっていますが、何卒御指導よろしくお願いします。
>
> #本件、元々は某書籍を読みながらやっているとのことでしたが、
> #WEBアプリケーションのデプロイについては記載されていないのでしょうか?
> #もし、記載が無いのであれば、それはあまりお勧めできない書籍ということ
> #になってしまいますが。。。
> #もう一度、書籍を読み返してみることをお勧めします。
> 書籍を読む限りWEB-INF/classesについてはあまりふれていません。
> build.shを実行したらwebapps以下にウェブアプリが自動的に作成されて
> WEB-INFOとclassesが作成されている絵はあります。
> そういえば書籍のとおりやってうまくいかなかった点が他にもありました。
> 書籍ではbuild.shというスクリプトを実行するようになっており
> 私もこれにならって行いましたが下記のエラーが出ました。
> ここから---------------------------------------------------------------------------
> Exception in thread "main" java.lang.ClassNotFoundException: org.apache.tools.ant.Main
>    at 0x4017224b: java.lang.Throwable.Throwable(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x4016885b: java.lang.Exception.Exception(java.lang.String) (/usr/lib/libg
> cj.so.2)
>    at 0x40167c70: java.lang.ClassNotFoundException.ClassNotFoundException(java.l
> ang.String) (/usr/lib/libgcj.so.2)
>    at 0x401da5c5: java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/
> libgcj.so.2)
>    at 0x40157c80: gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/us
> r/lib/libgcj.so.2)
>    at 0x401673ba: java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/u
> sr/lib/libgcj.so.2)
>    at 0x401581e2: _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/
> libgcj.so.2)
>    at 0x40155124: java.lang.Class.forName(java.lang.String, boolean, java.lang.C
> lassLoader) (/usr/lib/libgcj.so.2)
>    at 0x401551d6: java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.
> 2)
>    at 0x40153703: gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.2)
>    at 0x4015db63: java.lang.Thread.run_(java.lang.Object) (/usr/lib/libgcj.so.2)
>    at 0x402386a4: ?? (??:0)
>    at 0x403def76: GC_start_routine (/usr/lib/libgcjgc.so.1)
>    at 0x403f70ba: ?? (??:0)
>    at 0x4050bd6a: __clone (/lib/libc.so.6)
> debian:/usr/local/tomcat4/webapps/sect8# ./build.sh
> Exception in thread "main" java.lang.ClassNotFoundException: org.apache.tools.ant.Main
>    at 0x4017224b: java.lang.Throwable.Throwable(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x4016885b: java.lang.Exception.Exception(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40167c70: java.lang.ClassNotFoundException.ClassNotFoundException(java.lang.String)
(/usr/lib/libgcj.so.2)
>    at 0x401da5c5: java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40157c80: gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x401673ba: java.lang.ClassLoader.loadClass(java.lang.String, boolean)
(/usr/lib/libgcj.so.2)
>    at 0x401581e2: _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.2)
>    at 0x40155124: java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
(/usr/lib/libgcj.so.2)
>    at 0x401551d6: java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40153703: gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.2)
>    at 0x4015db63: java.lang.Thread.run_(java.lang.Object) (/usr/lib/libgcj.so.2)
>    at 0x402386a4: ?? (??:0)
>    at 0x403def76: GC_start_routine (/usr/lib/libgcjgc.so.1)
>    at 0x403f70ba: ?? (??:0)
>    at 0x4050bd6a: __clone (/lib/libc.so.6)
> debian:/usr/local/tomcat4/webapps/sect8# ./build.sh
> Exception in thread "main" java.lang.ClassNotFoundException: org.apache.tools.ant.Main
>    at 0x4017224b: java.lang.Throwable.Throwable(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x4016885b: java.lang.Exception.Exception(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40167c70: java.lang.ClassNotFoundException.ClassNotFoundException(java.lang.String)
(/usr/lib/libgcj.so.2)
>    at 0x401da5c5: java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40157c80: gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x401673ba: java.lang.ClassLoader.loadClass(java.lang.String, boolean)
(/usr/lib/libgcj.so.2)
>    at 0x401581e2: _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.2)
>    at 0x40155124: java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
(/usr/lib/libgcj.so.2)
>    at 0x401551d6: java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.2)
>    at 0x40153703: gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.2)
>    at 0x4015db63: java.lang.Thread.run_(java.lang.Object) (/usr/lib/libgcj.so.2)
>    at 0x402386a4: ?? (??:0)
>    at 0x403def76: GC_start_routine (/usr/lib/libgcjgc.so.1)
>    at 0x403f70ba: ?? (??:0)
>    at 0x4050bd6a: __clone (/lib/libc.so.6)
> ここまで ----------------------------------------------------------------------------------------
> エラーを解決するスキルが現在ないので読み飛ばしていました。
> 他の添付してあるウェブアプリがとりあえずブラウザ上から確認できたので
> buildを行うという作業を完全に忘れておりました。
> 話が少々ずれますが、
> 書籍はANTのインストールをしていませんが、私はANTをインストールして
> $ ant
> を実行するとBUILD SUCCESSFULにはなります。しかし、今回のwebapps以下においた
> 書籍添付アプリはどれもBuildすることを忘れていたためBuildせずに行っております。
> ちなみ今まで問題となっているウェブアプリをantしてから行っても結果は同じでした。
>
> 非常に長くなってしまいましたが、どうかよろしくお願いします。
>