0

コマンドプロンプトを使用してWindows 7でコードをコンパイルしています-詳細は次のとおりです。

クラスパスを次のように設定します。

set classpath= %classpath%;C:\java-programes\Servlet-Programing-new1\TotalUsersOnline\lib\servlet-api\*.jar;C:\java-programes\Servlet-Programing-new1\TotalUsersOnline\lib\servlet\*.jar;

そして、次のようにファイルをコンパイルしようとしました:

javac -d ..\classe com\java\controller\LoginServlet.java

出力:

com\java\controller\LoginServlet.java:7: package javax.servlet does not exist
import javax.servlet.RequestDispatcher;
                    ^

com\java\controller\LoginServlet.java:8: package javax.servlet does not exist
import javax.servlet.ServletException;
                    ^

com\java\controller\LoginServlet.java:9: package javax.servlet.http does not exist
import javax.servlet.http.HttpServlet;
                         ^

com\java\controller\LoginServlet.java:10: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletRequest;
                         ^

com\java\controller\LoginServlet.java:11: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletResponse;
                         ^

com\java\controller\LoginServlet.java:13: cannot find symbol
symbol: class HttpServlet
public class LoginServlet extends HttpServlet{
                                  ^

com\java\controller\LoginServlet.java:21: cannot find symbol
symbol  : class HttpServletRequest
location: class com.java.controller.LoginServlet
        public void service(HttpServletRequest request, HttpServletResponse response)
                            ^

com\java\controller\LoginServlet.java:21: cannot find symbol
symbol  : class HttpServletResponse
location: class com.java.controller.LoginServlet
        public void service(HttpServletRequest request, HttpServletResponse response)
                                                        ^

com\java\controller\LoginServlet.java:22: cannot find symbol
symbol  : class ServletException
location: class com.java.controller.LoginServlet
                        throws ServletException, IOException {
                               ^

com\java\controller\LoginServlet.java:46: cannot find symbol
symbol  : class RequestDispatcher
location: class com.java.controller.LoginServlet
                RequestDispatcher dispatcher = request.getRequestDispatcher("/home.jsp");
                ^

com\java\controller\LoginServlet.java:20: method does not override or implement a method from a supertype
        @Override

その後、次のように試しました:

javac  -classpath C:\java-programes\Servlet-Programing-new1\TotalUsersOnline\lib\servlet-api\*.jar com\java\controller\LoginServlet.java

次に、得た出力は次のとおりです。

javac: invalid flag: C:\java-programes\Servlet-Programing-new1\TotalUsersOnline\lib\servlet-api\servlet-api-2.5.jar
Usage: javac <options> <source files>
use -help for a list of possible options

私はこの点で立ち往生していて、何も得られていないので、これについて助けてください..どのように進めるか.私はひどく助けが必要です:(

前もって感謝します

4

1 に答える 1

1

クラスパスのワイルドカードについて

クラス パス エントリには、ベース名のワイルドカード文字 を含めることができます。これは、拡張子 .jar または .JAR を持つディレクトリ内のすべてのファイルのリストを指定することと同等と見なされます。たとえば、クラスパス エントリ foo/は、foo という名前のディレクトリ内のすべての JAR ファイルを指定します。* だけで構成されるクラスパス エントリは、現在のディレクトリ内のすべての jar ファイルのリストに展開されます。

* を含むクラス パス エントリは、クラス ファイルと一致しません。1 つのディレクトリー foo 内のクラスと JAR ファイルの両方を一致させるには、foo;foo/* または foo/*;foo のいずれかを使用します。選択した順序によって、foo のクラスとリソースが foo の JAR ファイルの前にロードされるか、またはその逆かが決まります。

サブディレクトリは再帰的に検索されません。たとえば、foo/* は、foo/bar、foo/baz などではなく、foo でのみ JAR ファイルを検索します。

ここで詳細を読む必要があります。すばらしいhttp://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

于 2013-09-14T14:48:57.643 に答える