- 花瓶夫
- ベテラン
- 会議室デビュー日: 2003/10/01
- 投稿数: 50
|
投稿日時: 2004-01-10 11:33
毎回お世話様です。Strutsの環境で行っています。javaファイルをmake.bat(バッチファイル)でコンパイルさせたいのですが、バッチファイルが認識されなく困っています。
make.batは、\WEB-INF\classes\okiniiriの階層のjavaファイルと同じ所に置いてあります。どなたか、お気づきでしたらご指摘願いますか。宜しくお願いします。
-make.bat-
| コード: |
| javac -classpath %CLASSPATH%; %CATALINA_HOME%\webapps\okiniiri\WEB-INF\lib\struts.jar
-d %CATALINA_HOME%\webapps\okiiiri\WEB-INF\classes
-deprecation okiniiri/*.java
|
-プロンプト上のエラー-
| コード: |
| C:\Program Files\Apache Tomcat 4.1\webapps\okiniiri\WEB-INF\classes>-d C:\Program Files\Apache Tomcat 4.1\webapps\okiiiri\WEB-INF\classes
'-d' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
C:\Program Files\Apache Tomcat 4.1\webapps\okiniiri\WEB-INF\classes>-deprecation okiniiri/*.java
'-deprecation' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
|
|
- 山本 裕介
- ぬし
- 会議室デビュー日: 2003/05/22
- 投稿数: 2415
- お住まい・勤務地: 恵比寿
|
投稿日時: 2004-01-10 12:11
3行それぞれが別のコマンドとして扱われているようです。
行の折り返し部分に改行がはいっているのではないでしょうか。
|
- 花瓶夫
- ベテラン
- 会議室デビュー日: 2003/10/01
- 投稿数: 50
|
投稿日時: 2004-01-10 12:38
回答誠に有難うございます。一行のコマンドに変更しバッチファイルの認識は解決しましたが、無効なフラグの警告がでてしまいました。調べたのですが、解決策が見当たりません。おわかりになる方、何卒宜しくお願いします。
-プロンプト上-
| コード: |
| C:\Program Files\Apache Tomcat 4.1\webapps\okiniiri\WEB-INF\classes>make.bat
C:\Program Files\Apache Tomcat 4.1\webapps\okiniiri\WEB-INF\classes>javac -class
path .;C:\Program Files\Apache Tomcat 4.1\common\lib\servlet.jar;C:\j2sdk1.4.0_0
3\jre\lib;C:\j2sdk1.4.0_03\lib;C:\j2sdk1.4.0_03\lib\tools.jar;C:\Program Files\A
pache Tomcat 4.1\webapps\trust\WEB-INF\classes;C:\Struts\jakarta-struts-1.1\lib\
struts.jar; C:\Program Files\Apache Tomcat 4.1\webapps\okiniiri\WEB-INF\lib\stru
ts.jar-d C:\Program Files\Apache Tomcat 4.1\webapps\okiiiri\WEB-INF\classes-depr
ecation okiniiri/*.java
javac: Files\Apache は無効なフラグです。
使い方: javac <options> <source files>
使用可能なオプションには次のものがあります。
-g すべてのデバッグ情報を生成する
-g:none デバッグ情報を生成しない
-g:{lines,vars,source} いくつかのデバッグ情報だけを生成する
-O 最適化。デバッグが抑制されるか、クラスファイルが大き
くなる
-nowarn 警告を発生させない
-verbose コンパイラの動作についてメッセージを出力する
-deprecation 推奨されない API が使用されているソースの位置を出力
する
-classpath <path> ユーザクラスファイルを検索する位置を指定する
-sourcepath <path> 入力ソースファイルを検索する位置を指定する
-bootclasspath <path> ブートストラップクラスファイルの位置を置き換える
-extdirs <dirs> インストール済み拡張機能の位置を置き換える
-d <directory> 生成されたクラスファイルを格納する位置を指定する
-encoding <encoding> ソースファイルが使用する文字エンコーディングを指定す
る
-source <release> 指定されたリリースとソースの互換性を保つ
-target <release> 特定の VM バージョン用のクラスファイルを生成する
-help 標準オプションの概要を出力する
|
|
- 架空兎
- ベテラン
- 会議室デビュー日: 2003/08/18
- 投稿数: 78
- お住まい・勤務地: さいたま氏
|
投稿日時: 2004-01-10 13:00
-d で指定するパスにスペースが入っているためだと思われますので、
そのパスをダブルクォートで囲ってみてください。
あと他に気付いた点として、-d と -deprecation の前に半角スペースを空けてください。
|
- かずくん
- ぬし
- 会議室デビュー日: 2003/01/08
- 投稿数: 759
- お住まい・勤務地: 太陽系第三惑星
|
投稿日時: 2004-01-10 13:31
加えて、-classpathで指定しているファイルパスにも空白を含むものがあるので、これらもダブルクォーテーションで囲んであげましょう。
# 追加
ところで、コンパイルだったらAnt使った方が楽だと思うのだけど、何か使えない理由のでもあるのでしょうか?
[ メッセージ編集済み 編集者: かずくん 編集日時 2004-01-10 13:33 ]
|
- 花瓶夫
- ベテラン
- 会議室デビュー日: 2003/10/01
- 投稿数: 50
|
投稿日時: 2004-01-10 14:07
皆様回答誠にありがとうございました。コンパイルできました!Antは使ったことがあるのですが、Strutsは、初めての挑戦でAntでのCLASSPATHやjarファイルのパスの通す方法や、Strutsでは既に階層が出来上がっている為Antでのtargetの記述をどう記述すればいいのかわからなかった為make.batで仕方なく行いました。本当はAntでやりたいのですが・・・・・
|