これが一般的なエラーであることは知っていますが、我慢してください。私はCLASSPATHの問題を追求しましたが、それが問題だとは思いません。このようなエラーが発生します。
./src/process.java:2: package javax.servlet does not exist
import javax.servlet.*;
TomcatとJavaSDKをインストールしましたが、TomcatがサーブレットAPIを提供することになっていることを知っています。しかし、それは正確にどのファイルを探していますか?
次の設定があります:JAVA_HOME = / usr / java / jdk1.6.0_16 CLASSPATH = / usr / share / java; / usr / share / java / tomcat6
tomcatのベースディレクトリ:/ usr / share / tomcat6このディレクトリでは、/ usr / share / tomcat6/libは単に/usr/ share / java/tomcat6へのシンボリックリンクです。
tomcat6-servlet-2.5-api-6.0.18.jarは/usr/share/java/tomcat6にありますが、このライブラリを使用するためにjavacに通知する必要があるものは他にありますか?必要な別のライブラリはありますか?
背景として、helloworldサーブレットを実行しようとしています。コードは次のとおりです。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class process extends HttpServlet {
public void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
これをjavacでコンパイルすると、次のエラーが発生します(特にこれが根本的な原因です)。
./src/process.java:2: package javax.servlet does not exist
import javax.servlet.*;
^
./src/process.java:3: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
コマンドラインでも-cpオプションを使用してクラスパスを指定しようとしましたが、同じ結果になりました。