3

Javaファイルをコンパイルすると、次のエラーメッセージが表示されます。

error: package javax.servlet does not exist

Jave EE SDK用の大きな.SHファイルをインストールしました。Javaバージョンでは、次のようになります。

java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

他のものをインストールする必要がありますか?

私はTomcat7/Library/Tomcat/ を、コマンドラインを備えたシンプルなテキストエディタにあるサーブレットコンテナとして使用しています。

4

4 に答える 4

5

servlet-apiコンパイル時のクラスパスにJARを含める必要があります。

Mavenを使用している場合は、これを依存関係としてpom.xmlに追加します。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

これには、コンパイル時に依存関係が含まれ、実行時にTomcatを使用します。

そうでない場合は、Eclipseを介してプロジェクトターゲットランタイムとしてTomcatを追加する必要があります。

この質問には、これらをEclipseプロジェクトに含めるためのいくつかの有用な情報が あります。Eclipseプロジェクトにjavax.servlet APIをインポートするにはどうすればよいですか?

javacコマンドラインを使用してプロジェクトをビルドしている場合、これらのjarをクラスパスに追加するには、これらをクラスパス引数に追加する必要があります。

この質問を参照してください:コマンドプロンプトからサーブレットをコンパイルする方法は?

重要な部分は次のとおりです。

javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java
于 2012-12-31T18:30:59.140 に答える
2

Windowsユーザー:

私は自分でこの問題に直面しました、そしてここにうまくいった解決策があります

このパスをCLASSPATH環境変数「C:\ ProgramFiles \ Apache Software Foundation \ Tomcat7.0 \ lib\servlet-api.jar」に追加するだけです。

jar名の前のパスは、インストールによって異なる場合があります。tomcatのlibフォルダーに移動し、ディレクトリー全体をコピーするだけです。

初心者向けの詳細情報:環境変数は、[MyComputer]->[プロパティ]->[詳細設定]->[詳細設定]タブにあります。

これで、cmdプロンプトに移動して、「javacMyclass.java」と入力するだけです。

お役に立てれば!

于 2013-10-27T09:10:11.340 に答える
1

ウィキペディアでJavaクラスパスについて読んでください。

「概要とアーキテクチャ」の最後の段落をしっかりと準備してください。

あなたの例では

javax.servletパッケージは、ブートストラップまたは拡張パッケージの一部ではないため、クラスパスに手動で追加する必要があります。ALJIは、コマンドラインからこれを行う方法を示しました。上記のウィキペディアのリンクにも例があります。

おすすめ

新しい言語を始めるとき、誰もがこれらのタイプの問題にぶつかります。Googleには、Javaクラスパスの基本を理解するのに役立つチュートリアルがたくさんあります。

于 2012-12-31T19:27:22.393 に答える
1
javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java
于 2012-12-31T18:50:25.260 に答える