- PR -

バッチファイルのコンパイル

1
投稿者投稿内容
花瓶夫
ベテラン
会議室デビュー日: 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でやりたいのですが・・・・・
1

スキルアップ/キャリアアップ(JOB@IT)