Странная проблема с использованием Java ProcessBuilder в Windows 2008 R2 Standard - PullRequest
1 голос
/ 11 октября 2010

Я удалил некоторый код Scala для управления жизненным циклом сервера MySQL. Код прекрасно работает в Windows XP, но не работает в стандарте Windows 2008 R2, за исключением следующего:

Exception in thread "main" java.io.IOException: Cannot run program "mysql" (in directory ".\bin"): CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
        at com.quantel.dbcontroller.ProcessExecutor$.run(dbcontroller.scala:63)
        at com.quantel.dbcontroller.MySQL$User.execSQL(dbcontroller.scala:90)
        at com.quantel.dbcontroller.MySQL.isRunning(dbcontroller.scala:172)
        at com.quantel.dbcontroller.MySQL.start(dbcontroller.scala:126)
        at com.quantel.dbcontroller.Launch$.main(dbcontroller.scala:195)
        at com.quantel.dbcontroller.Launch.main(dbcontroller.scala)
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:81)
        at java.lang.ProcessImpl.start(ProcessImpl.java:30)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
        ... 6 more

Я немного озадачен тем, почему это хорошо работает на XP, но не на Windows 2008 R2. Кто-нибудь испытывал нечто подобное?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Это была моя ошибка.Я забыл префикс команды для выполнения с cmd / c.Странно, но Windows XP не жалуется на отсутствие cmd / c, в то время как Windows 2008 делает.

0 голосов
/ 11 октября 2010

Не похоже на что-то конкретное для Scala, есть что-то еще, когда вы обновили Windows (я предполагаю, что это было обновление)

Попробуйте дважды проверить, что ваш системный путь в порядке, что вы запускаете программу из правильного местоположения и т. Д.

...