javaコードでpostgreSql.exeをインストールしようとしています。私はworkspace/project-root-folder/data
の下にインストーラexeファイルを保管しています。これによりjavaコードでコマンドを実行中にエラーが発生しました
System.out.println("Lets install postgreSql");
ProcessBuilder b = new ProcessBuilder();
b.directory(new File("data").getAbsoluteFile());
b.command(installationCommand);
b.start();
は私が例外の下に取得しています設定:以下
installationCommand = "postgresql-9.5.3-1-windows-x64.exe --mode unattended --installer-language en --serverport 5433 --superaccount test_admin --superpassword ‘password’"
は私のJavaコードで使用していたコードスニペットです:私は私のJavaコードを介してコマンドの下に実行しようとしています:
java.io.IOException: Cannot run program "postgresql-9.5.3-1-windows-x64.exe --mode unattended --installer-language en --serverport 5433 --superaccount protoel_admin --superpassword ‘password’" (in directory "C:\DurgeshProjectWork\Workspace\protoel-core\data"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at frontend.guifx.pginstallation.PgStandaloneInstaller.installPg(PgStandaloneInstaller.java:27)
at frontend.guifx.controller.ProtoelController.initialize(ProtoelController.java:386)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2445)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3218)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3179)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3152)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3128)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3108)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3101)
at frontend.guifx.main.ProToelApplication.start(ProToelApplication.java:34)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(LauncherImpl.java:863)
at com.sun.javafx.application.LauncherImpl$$Lambda$53/953109155.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/2034688500.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl$$Lambda$48/3243045.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/1007251739.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/1508395126.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 25 more
誰が私は、Javaコードを介して特定のディレクトリからコマンドを実行する方法を教えてくださいでした。親切に助けてください。事前に感謝します
ディレクトリ機能の値が期待どおりになっています。それは私のデータフォルダまでのディレクトリを示しています。しかし、まだ上記の例外を投げる –