0

私はJava EEの初心者です。そして、『Head First Servlets and JSP』という本の手順に従って、単純な Web アプリケーションを作成しました。

Java で簡単なサーブレットを作成しました。今、それをコンパイルして、クラスを開発環境に置くことを計画しています。Windowsのjavacコマンドだけで、ビルドツールは使用していません。サーブレットのパスは、D:\Learning Exercises\HeadFirstSnJ_Demo1\src\com\example\web\BeerSelect.java です。そして、クラスファイルをディレクトリ D:\Program Files (x86)\apache-tomcat-7.0.39\webapps\HeadFirstSnJ_Demo1\WEB_INF\classes\com\example\web\ の下に置く予定です

本のコマンドは次のとおりです。

% cd MyProjects/beerV1
% javac -classpath /Users/bert/Applications2/tomcat/common/lib/servlet-api.jar:classes:. -d classes src/com/example/web/BeerSelect.java

Windowsでこれらのコマンドを実行しました:

D:\>cd D:\Learning Exercises\HeadFirstSnJ_Demo1\src\com\example\web
D:\Learning Exercises\HeadFirstSnJ_Demo1\src\com\example\web>javac -classpath D:/"Program Files (x86)"/apache-tomcat-7.0.39/lib/servelt-api.jar;-d D:/"Program Files (x86)"/apache-tomcat-7.0.39/webapps/HeadFirstSnJ_Demo1/WEB_INF/classes/com/example/web BeerSelect.java

システムから無効なフラグ エラーが返されます (英語以外の OS を使用しています。次の情報は自分で英語に翻訳したものです)。

javac: Invalid: D:/Program Files (x86)/apache-tomcat-7.0.39/webapps/HeadFirstSnJ_Demo1/WEB_INF/classes/com/example/web
Usage: javac <options> <source files>
-help to list all the valid options

なぜそれが起こったのですか?この javac -classpath -d コマンドの使い方は間違っていますか?

実は、「;」に何か問題があると思います。ここで「-d」の前に。「;」を置き換えると 空白があると、この無効なフラグ エラーは発生しませんが、代わりに「パッケージ javax.servlet が存在しません」というエラーが発生します。

修正されたコードは次のとおりです。

D:\Learning Exercises\HeadFirstSnJ_Demo1\src\com\example\web>javac -classpath "D:\Program Files (x86)\apache-tomcat-7.0.39\lib\servelt-api.jar" -d "D:\Program Files (x86)\apache-tomcat-7.0.39\webapps\HeadFirstSnJ_Demo1\WEB_INF\classes\com\example\web" BeerSelect.java
4

3 に答える 3

2

のスペル"servlet-api.jar"が間違っています。

于 2013-06-27T08:15:00.890 に答える
0

Windows でのディレクトリ ナビゲーションには「\」を使用します。[「/」は Linux 用です]。だからこれを試してください:

D:\"Program Files (x86)"\apache-tomcat-7.0.39\lib\servelt-api.jar; -d D:\"Program Files (x86)"\apache-tomcat-7.0.39\webapps\HeadFirstSnJ_Demo1\WEB_INF\classes\com\example\web BeerSelect.java
于 2013-06-03T06:27:57.930 に答える