• ベストアンサー

コンパイルエラー

前の『Server Hangup』の質問とは別にこちらもお願いします。ちなみにあれは家のパソコンです。今回は会社のパソコンなんですが、こちらは同じようにTomcatをインストールしてhttp://localhost:8080/にアクセスするとちゃんと画面が表示されます。しかし、HelloServlet.javaがコンパイルできないのです。 これも本を読みながら同じようにやっているのですが・・・。 一体何が原因なのでしょうか? 環境はOSがWindows2000、j2sdk1.4.1、jakarta-tomcat-4.0.3-LE-jdk14です。 ファイルのあるディレクトリに移動して javac -classpath=%CATALINA_HOME%\common\lib\servlet.jar;%CLASSPATH% HelloServlet.java と入力すると以下のようなエラーになります。 HelloServlet.java:5: パッケージ javax.servlet は存在しません。 import javax.servlet.ServletException; ^ HelloServlet.java:6: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; ^ HelloServlet.java:7: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletRequest; ^ HelloServlet.java:8: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletResponse; ^ HelloServlet.java:14: シンボルを解決できません。 シンボル: クラス HttpServlet 場所 : HelloServlet の クラス public class HelloServlet extends HttpServlet {   … エラー 8 個 質問内容は検索したのですが、同じようなのは、コードの書き間違いだったようで 回答は得られませんでした。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

> ありがとうございます。早速試してみたのですが、 > > javac: -classpath=c:\Program files\Apache Tomcat 4.0\common\lib\servlet.jar は無効なフラグです。 > > と表示されてしまいました。 ごめん、classpath= のイコールは、要らないわ。-classpath "c:\Program …" です。 別途、環境変数を設定するのであれば JAVA_HOME と同じように CATALINA_HOME を c:\Program files\Apache Tomcat 4.0 とすれば(*) OK です。  (*) 先の回答に書いたように、インストール先によって変わる可能性があります

tam2-y
質問者

お礼

本当にありがとうございます。補足したあと、 C:\>javac -classpath c:\jakarta-tomcat-4.0.3-LE-jdk14\common\lib\servlet.jar; HelloServlet.java と入力してみたらコンパイル成功したようです。 環境変数の設定方法もありがとうございました。 私の場合は、CATALINA_HOMEにc:\jakarta-tomcat-4.0.3-jdk14とすればよいのですね。 先週の金曜日からなので、もうかれこれ4日ほど(ずっとこのことばかり考えていたわけではないですが)悩んでいたので本当に助かりました。 また、いろいろ質問させていただくと思いますのでそのときはよろしくお願いします。

その他の回答 (2)

  • po-net
  • ベストアンサー率36% (172/477)
回答No.2

servlet.jar が正しく読み込まれていないことから、CLASSPATHの設定ミスだと思います。 システム環境変数をどのように設定されているのでしょうか? 一度、簡単なおまじないとして、以下のようにコンパイルしてみて下さい。 set CATALINA_HOME=(Tomcatをインストールしたディレクトリ。必要に応じて変更してください) set CLASSPATH=%CATALINA_HOME%\common\lib\servlet.jar javac HelloServlet.java コレで、コンパイルできているならば、CLASSPATH、あるいはTOMCAT_HOMEに誤りがあります。

tam2-y
質問者

お礼

ありがとうございます。 po-netさんに教えて頂いたやり方でもやってみて、コンパイル成功しました。 環境設定ができていなかったということですね。 今後もいろいろ質問させていただくと思いますので、そのときはよろしくお願いします。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

どの本を参考にしたのか知りませんが、環境変数 CATALINA_HOME は設定してあるのでしょうか? 手元の tomcat 4.0.3 では、tomcat を、ただ立ち上げるだけであれば CATALINA_HOME の 設定は必須ではありません。 多分、環境変数 CLASSPATH も設定していないと思うので、直接 tomcat のインストール ディレクトリを指定してみてはどうですか? C ドライブにインストールしたとして、デフォルトのままのディレクトリなら、こんな感じのはず。 javac -classpath="c:\Program files\Apache Tomcat 4.0\common\lib\servlet.jar" HelloServlet.java

tam2-y
質問者

補足

ありがとうございます。早速試してみたのですが、 javac: -classpath=c:\Program files\Apache Tomcat 4.0\common\lib\servlet.jar は無効なフラグです。 と表示されてしまいました。 お手数ですが、できれば環境変数CATALINA_HOMEの設定の仕方を教えてもらえないでしょうか? ちなみにそれはマイコンピュータのプロパティの中の環境変数のシステム環境変数のことでしょうか? そこには、この本の指示で JAVA_HOMEという変数にc:\j2sdk1.4.1と設定しました。

関連するQ&A