2012-04-23 33 views
0

C#のProcessオブジェクトを使用してcmd.exeを使用してantバッチファイルによってJavaポートレットを作成するアプリケーションを作成しています。"java.exe"が内部または外部コマンド、実行可能プログラムまたはバッチファイルとして認識されない

'"java.exe"' is not recognized as an internal or external command, 
operable program or batch file. 

をしかし、私は直接CMDでこのコマンドを入力すると、それが正常に動作します:私は、ポートレットを作成するために、CMDに「作成」コマンドを渡すと

は、私はこのようなエラーが表示されます。

Windows 7にJDKをインストールし、環境変数にJAVA_HOMEおよびANT_HOME変数を設定しました。それを訂正する助けてくれますか?

+0

JRE/JDKがインストールされていますか?パス上にjava.exeがありますか? –

+3

PATHにjava.exeはありますか? – Xharze

+1

質問はあまり言い表せません。実際には質問はありません。あなたはここでどのような情報を取得しようとしているのか推測できるだけです。 – Romain

答えて

1

が正しく

uは私にuが得る正確なエラーメッセージを与えることができます股関節のJavaのパスを設定してみてください...

3

あなたのPATH変数を確認する必要があります。 setコマンドを使用して、Java環境フォルダへの正しいパスを設定することができます。

0

同じ問題が発生し、解決策が見つかりました。それもあなたを助けるかもしれません。

  1. PATH変数を設定します。この手順が必要かどうかわかりませんが、TEMP変数にjava.exeへのパスを追加しました。
  2. コマンドプロンプトで、現在のディレクトリをjava.exeの親ディレクトリに変更しました。
  3. 私は必要なコマンドを実行しました。いくつかのファイルがコマンドで参照されている場合、私は完全なパスを入れます。

希望します。

2

この記事を閲覧している他の人に役立つかどうかわかりませんが、x64マシンを実行していてjava.exeがProgramFiles(x86)フォルダにインストールされていたためです。私は単にパスを環境変数 'PATH'に追加して、それを起動しました。

これは誰かを助けることを望みます。

1

私の経験では、この問題はJavaのパスとは関係ありませんでした。実際に私は64ビットマシン用のJavaをインストールし、32ビット設定で私のC#プログラムをコンパイルしていました。 32ビットプログラムから64Bitプログラムを呼び出すことはできませんでした。だから私はターゲットプラットフォームを"Any CPU"に変更しました。とうまくいきました。

0

あなたのPATH変数に複数の値を持っている場合、それらはエンドセミコロン以下のスペースで分離されていないことを確認してください(;)

0

私は同じ問題を抱えていたし、それを解決しました。私は64ビットWindows 7と64ビットJavaを使用しています。 Configuration Managerのコンパイルターゲットを「x64」に設定すると、それが解決されました。 '任意のCPU'を使用すると、ビルドはおそらく64ビットJavaで動作しない 'x86'に落ちます。したがって、異なるマシンに異なるビルドが必要です。

関連する問題