質問: "/ 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` 引数が使用されます)。 `-cp` の `CLASSPATH` 環境変数*または*のいずれかで**のみ** 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は、ソースファイルを保存するだけで自動的に実行します。