Javaサーブレットがコンパイルされない – javax.servletが見つからない

私はJavaサーブレットをコンパイルするのに大きな問題があります。限り、私が見ることができる限り、私は私がする必要があるすべてのive、iveは正しく7をインストールして、そしてTomcatは動作している。私が理解するように、私はクラスパスにservlet.jarパッケージを追加する必要があります。私のシステム上ではservlet.jarではないようですが、tomcat
docsから理解できるものから、現在はservlet-api.jarです。

これは、/etc/environment でクラスパスを編集することで行いました。

/ usr/local/bin /:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr /
CLASSPATH = “/ usr/share/tomcat7/lib/servlet-api.jar”

残念ながら、まだ運がない、私はJavaサーブレットをコンパイルできません。また、imは
javax.servlets のシンボルの欠落について警告を受け取ります。

私はubuntu 11.10 x64を使用しています。何か案は?

ベストアンサー

/etc/environment

でクラスパスを編集して、      / usr/local/bin:/ usr/sbin:/
usr/bin:/ sbin:/ bin:/ usr/games “CLASSPATH =”
/usr/share/tomcat7/lib/servlet-api.jar “

それはうまく見えます。しかし、 PATH
は特定の問題とは関係ありません。どのような方法でもJavaでは使用されていません。これは、オペレーティングシステムプラットフォームがexecutabelesを探すためにのみ使用します。
CLASSPATH
は似ていますが、コンパイルや実行時に使用されるクラスを探すためにJavaでのみ使用されます。

あなたの問題は、 javac コマンドの -cp または
-classpath 引数を使用したことが原因です。その場合、環境変数
CLASSPATH無視されます(これは
java 引数が使用されます)。

-cpCLASSPATH
環境変数またはのいずれかでのみ code>または
-classpath 引数を使用します。一般的な推奨は、単に “Hello
World”以上のことをしたくないときは、環境変数 CLASSPATH を忘れることです。
を使用して、 -cp または -classpath
引数に複数のパスを指定できます。

$ cd /path/to/package/root/of/your/servlet/code
$ javac -cp .:/path/to/servlet-api.jar com/example/YourServlet.java

毎回これを繰り返し入力することに飽きた場合は、 .sh
スクリプトに入れてください。あるいはAntのようなビルドツールを使ってXMLファイルで設定することもできますし、Eclipse、
NetbeansまたはIntelliJは、ソースファイルを保存するだけで自動的に実行します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です