java.io.IOException :Не удается запустить программу, ошибка = 2, нет такого файла или каталога

У меня есть класс Java, в котором я вызываю метод runshellscript, который будет выполнять скрипт. Он хорошо работал с mysql, но я не могу понять, почему он не будет работать с psql. Вот выдержка из моего метода runshell:

public class RunShellScript {

public static void runShellScript (String unixCommand) 
{
 try {
     Runtime runtime=Runtime.getRuntime();
     //Process process=runtime.exec(new String [] { "/bin/csh", "-c", unixCommand});
     Process process=runtime.exec(new String [] {unixCommand});
     InputStream stderr=process.getErrorStream();
     InputStreamReader isr=new InputStreamReader (stderr);
     BufferedReader br=new BufferedReader (isr);
     String line=null;
     System.out.println("<ERROR>");

     while((line=br.readLine())!=null)
         System.out.println(line);

     System.out.println(line);
     int exitVal=process.waitFor();
     System.out.println("Process exitValue:" + exitVal);
 }
 catch (Throwable t)
 {
     t.printStackTrace();
 }

проблема в том, что когда я помещаю это за событие щелчка мышью, он говорит, что команда не найдена. Вот код события мыши

private void jMenuItem13MousePressed(java.awt.event.MouseEvent evt)    {                                         

    String shellCommand="vobs/tools/Scripts/DataValidation/mysqlconnection.csh";
    RunShellScript.runShellScript(shellCommand);
    // TODO add your handling code here:
}                     

Странно то, что когда я иду прямо в каталог, где находится скрипт, и набираю./mysqlconnection, скрипт работает. Но когда я просто набираю mysqlconnection, пишет, что команда не найдена. Каким-то образом он не распознает мое имя сценария как команду?

9
задан Lily Chung 3 August 2012 в 00:14
поделиться