2013-11-11 5 views
0

Я пытался получить эту программу, чтобы запустить файл класса, который находится в /Library/Application Support/Adobe/Adobe PCD/cache/Main.class.Java - Нет такого файла или каталога

Тем не менее каждый раз, когда я бегу метод ниже, он не может найти указанный файл. Я думаю, что eclipse ищет путь к файлу выше в папке проекта. Но первая команда, похоже, не работает. Может кто-нибудь мне помочь? Есть ли другой способ запустить файл класса?

static Runtime r = Runtime.getRuntime(); 

public static void Run() { 

     try { 
     Runtime rt = Runtime.getRuntime(); 
     String run = "/Library/Application Support/Adobe/Adobe PCD/cache/";  
     String[] command = {"java -cp " + run, "java Main"}; 
     Process pr = rt.exec(command); 

     BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); 

     String line=null; 

     while((line=input.readLine()) != null) { 
      System.out.println(line); 
     } 

     int exitVal = pr.waitFor(); 
     System.out.println("Exited with error code "+exitVal); 

    } catch(Exception e) { 
     System.out.println(e.toString()); 
     e.printStackTrace(); 
    } 
} 
+0

Вы пробовали 'String [] command = {" java -cp "+ run," Main "}' – BevynQ

ответ

1

Это пытается запустить мифическую программу java -cp /Library/Application Support/Adobe/Adobe PCD/cache/ с аргументом java Main. java Main является незаконным именем для класса. Вместо этого, ваш массив команда будет:

String[] command = {"java", "-cp", run, "Main"}; 

Однако, если у вас есть Main класс в пакете по умолчанию, просто добавьте каталог run к классу пути вашего приложения, а затем вызовMain.main(), возможно, играть в игры с стандартный ввод и вывод. Нет необходимости запускать вторую JVM. Или, выясните, что делает Main, и вызывайте классы, которые он вызывает. Есть ли Javadoc для кода Adobe?

При запуске задачи Ant <zip> Ant не запускает новую виртуальную машину или утилиту zip-командной строки. Вместо этого класс вызывает вызовы методов в java.util.zip. Вы должны сделать что-то подобное.

+0

спасибо! Это сработало – Ky6000

+0

Какой метод вы использовали? Должен ли я редактировать свой пост? –

Смежные вопросы