- PR -

「パッケージ javax.servlet は存在しません」というエラーについて

投稿者投稿内容
Js
常連さん
会議室デビュー日: 2002/05/28
投稿数: 25
投稿日時: 2002-05-30 14:00
下のプログラムをコンパイルしたところ

パッケージ javax.servlet は存在しません
パッケージ javax.servlet.http は存在しません

というエラーがでてしまいます。
実行環境は Java2 SDK 1.4.0 と Tomcat3.3.1です。
どなたか原因が分かる方がいらっしゃいましたら
教えていただければ幸いです。

<プログラム> ファイル名 Hello.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Hello extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException {

PrintWriter pw = response.getWriter();
pw.println("Hello!");
}
}


ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2002-05-30 14:09
 JAVAはあまり詳しくないので突っ込まれると弱いのですが、単純にCLASSPATHの設定が漏れているのではないでしょうか?
Js
常連さん
会議室デビュー日: 2002/05/28
投稿数: 25
投稿日時: 2002-05-30 14:22
CLASSPATHには
c:\jakarta-tomcat-3.3.1\lib\common\servlet.jar
を指定しています。
また、システム変数は
TOMCAT_HOME を c:\jakarta-tomcat-3.3.1 に
JAVA_HOME を c:\j2SDK1.4.0 に
設定しています。



ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2002-05-30 14:54
 試しにコンパイルしてみましたが問題なかったですね。

 CLASSPATHで指定している場所に実はservlet.jarがない、とかの単純な理由ではないですかね?

例えば、
c:\jakarta-tomcat-3.3.1\lib\common\
ではなく
c:\jakarta-tomcat-3.3.1\common\lib\
とか
c:\jakarta-tomcat-3.3.1\lib
にあるとか?
Js
常連さん
会議室デビュー日: 2002/05/28
投稿数: 25
投稿日時: 2002-05-30 15:21
確認しましたが servlet.jar は

c:\jakarta-tomcat-3.3.1\lib\common\

の中にあります。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2002-05-30 16:17
う〜む・・・どうもCLASSPATHの設定ミス以外考えられないような。

ホントに単純なタイプミスとかしてませんか?
あとWindowsNT系なのにAUTOEXEC.BATでCLASSPATHを設定しようとしてるとか(^^;

あと、コンパイルはどうやって実行してますか?
コマンドラインからjavacを投入してるのか、はたまたANTを使ってるとか。

ANTを使っているとしたら、build.bat(build.sh)の中でCLASSPATHを上書きしてる
のでその辺を確認するのもポイントかと思います。

未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2002-05-30 18:43
>パッケージ javax.servlet は存在しません
>パッケージ javax.servlet.http は存在しません
j2seはインストールしてるみたいですが,j2eeはインストール
してないのでは.

javaxで始まる拡張パッケージは特定のディレクトリ
に入れると自動的に認識されますが,それ以外では
認識されないと思います.
#これはマニュアルに載ってます.

多分,jdkのディレクトリ下のjre/lib/ext/の
下くらいにjarファイルを入れると自動的に
認識されると思います.
ふる
会議室デビュー日: 2001/11/29
投稿数: 5
投稿日時: 2002-05-31 01:54
100%CLSAAPATHの設定です。
Servlet用のクラスライブラリ(jar)にクラスパスが
とおっていません。

どんな環境でコンパイルをしているのでしょうか。
コンソールでコンパイルをしているのであれば、
>echo %classpath%
を実行してください。
servlet.jar等のクラスパスが表示されていればOKです。
IDEのようなビジュアルな開発環境であれば、必ずクラスパスを設定
する項目があるので、そちらで確認してください。
あと、jarファイルへのパス名が間違っていないか、確認してください。

tomcat ではれば、私はクラスパス設定をtomcatのbinフォルダで
コマンドで
>tomcat env
を実行してクラスパスをとおしたりしています。

CLASSPATH以外の原因は考えられませんので、
落ち着いてよく確認してください。

スキルアップ/キャリアアップ(JOB@IT)