次のコードを使用してバッチ ファイルを実行すると、IDE (重要な場合は Netbeans) から完全に実行されます。作業ディレクトリ (プロジェクト プロパティの [実行] タブ) を、ビルド.jar
ファイルと同じディレクトリに設定し、実行すると機能します。
IDE から新しい jar をクリーンアップしてビルドし、IDE で実行するように設定したのと同じディレクトリにドラッグすると、動作しません。再確認しましたが、同じコマンドを使用しようとしていますが、実行されていません。
パッケージ化するときに入れる必要があるフラグや、Java がこのコマンドを停止するために使用しているセキュリティ機能はありますか?
コードは次のとおりです。
String command="cmd /c cd \""+System.getProperty("user.dir")+"\\bin\"&&"+filename+"";
System.out.println(command);
JOptionPane.showMessageDialog(null,command); //How I verify it is the same command
Process p=Runtime.getRuntime().exec(command);
p.waitFor();