- ベストアンサー
環境変数設定で
senの環境変数を設定する場合、マイコンピュータを右クリックして、環境変数選択して、SEN_HOMEをつくり、 そこにC:\sen-1.2.2.1としました。 次にpathに%SEN_HOME%\binとしました。 そしてコマンドプロントでsh sen.shとしても'sh' は、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」とエラーがでます。 antは同じ要領でできたのですが・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
えーと、RE-CONFIRM さん。 WINDOWSのバッチファイルの実行の仕方の問題であります。 (この手のオープンソースは、 そのままではうまく実行できないことがあります。 利用する側にも、 要はこーゆーことがやりたいわけね。オレの環境にあわせて書き直して動かしてやるぞ! ぐらいの度量が必要です。) sen.batを実行するときに、一体どういうことが起こっているかといいますと。。。 C:\sen-1.2.2.1\bin\ にsen.bat というバッチファイルがあります。 それをコマンドプロンプトで実行しているわけです。 では、sen.batを秀丸とかのテキストエディタで開いてください。 (改行がUNIXのものなので、WINDOWS付属のメモ帳 で開くと見づらいです。) すると、batファイルの処理内容が分かると思います。 最終行で、エラーがでているわけですね。 'C:\Program' は、内部コマンドうんぬんと。。。 で、 @%JAVA_HOME%\bin\java -Dsen.home=%SEN_HOME% ・・・ という行のどこに、'C:\Program'という文字があるのか!という疑問が2秒後に涌きますが、 これ、実は、%JAVA_HOME% が原因です。 では、%JAVA_HOME%はどこにありますでしょうか? Javaをインストールしたときに、javaのインストール先を環境変数にJAVA_HOMEとして設定したご記憶があるかと思います。それです。コマンドプロンプトで見ると、 > echo %JAVA_HOME% ずばり、C:\Program Files\ ....にあると思います。 このパスの、Program Files というディレクトリ名。 空白文字が含まれることが問題です。 空白でブチ切れているため、Windowsさんは、 C:\Program <引数>という命令を実行せよと誤解し、 「C:\に、Program なんていう名前の実行ファイルは存在しません」と怒っているのです。 そこで、結論。 最後の行の%JAVA_HOME%を、 "%JAVA_HOME%" にように、ダブルクォーテーションでくくったうえで、保存して、sen.batを実行します。 その前のantをきちんとやっておけば、実行できます(いや、実行できるかもしません)
その他の回答 (1)
- copymaster
- ベストアンサー率81% (83/102)
Windowsですよね。 sh sen.sh ではなく、 sen.bat と思いますが。。
補足
C:\sen\bin>sen.bat C:\sen\bin>rem set classpath C:\sen\bin>SET CLASSPATH=C:\sen-1.2.2.1\lib\sen.jar C:\sen\bin>SET CLASSPATH=C:\sen-1.2.2.1\lib\sen.jar;C:\sen-1.2.2.1\lib\commons-l ogging.jar 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。