我一直在努力让这个程序运行一个位于/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();
}
}
答案 0 :(得分: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
的作用,并调用它调用的类。是否有Adobe代码的Javadoc?
当Ant任务<zip>
运行时,Ant不会启动新VM或命令行zip实用程序。相反,任务的类调用java.util.zip
中的方法。你应该做类似的事情。