0

我一直试图让这个程序运行一个位于/Library/Application Support/Adobe/Adobe PCD/cache/Main.class.

然而每次我运行下面的方法时,它都找不到指定的文件。我认为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();
   }
}
4

1 回答 1

1

这试图运行一个java -cp /Library/Application Support/Adobe/Adobe PCD/cache/带有参数的神话程序java Mainjava Main也是一个类的非法名称。相反,让您的命令数组为:

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

但是,除非您Main在默认包中有一个类,否则只需将run目录添加到应用程序的类路径中,然后调用 Main.main(),可能会使用标准输入和输出玩游戏。无需启动第二个 JVM。或者,弄清楚是什么Main,然后调用它调用的类。Adobe 代码是否有 Javadoc?

Ant 任务<zip>运行时,Ant 不会启动新的 VM 或命令行 zip 实用程序。相反,任务的类调用java.util.zip. 你应该做类似的事情。

于 2013-11-11T02:18:16.593 回答