請問一下
我想要寫一個java project呼叫三個java project。
import java.io.*;
public class Run_test
{
boolean the_com(Process p) throws IOException
{
String s;
boolean error = false;
BufferedReader err = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while((s = err.readLine())!= null)
{
System.out.print(s);
error = true;
}
if(error)
return false;
return true;
}
void the_run(Process p) throws IOException
{
String s;
BufferedReader out=new BufferedReader(new InputStreamReader(p.getInputStream()));
while((s=out.readLine())!= null)
System.out.print(s);
BufferedReader err = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while((s = err.readLine())!= null)
System.out.print(s);
}
public static void main(String args[]) throws IOException
{
String path = args[0];
String filename = args[1];
Runtime r = Runtime.getRuntime();
Process p = r.exec("javac "+path+filename+".java" ); //javac指令
Run_test test = new Run_test();
Process p2;
String s;
if(!test.the_com(p))
System.out.println("\n ~~~~~~~error~~~~~~~~~~~");
else
{
System.out.println("\n ~~~~~~~success~~~~~~~");
p2 = r.exec("java -classpath "+path+" "+filename); //java指令
test.the_run(p2);
}
}
}
用javac產生class檔。用java指令產生 編譯出結果。
我的問題是:
1.如果project 裡有很多java檔。那是否就要一個檔一個檔寫。
譬如:
path:
E:\code\ProgPattern_05\ProgPattern_05\src\
filename:
Main CodeTree EmptyListException FileHandle JavaLexer...
這樣很麻煩~有沒有可能直接全部的JAVA檔編譯~
我試過filename:*
沒辦法成功。
2.如果要呼叫的java project有外部import的package,要怎麼加到指令編譯成功。
譬如:import antlr;
3.不知道是否有更好的寫法~
謝謝各位大大~^o^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.164.174
推
07/24 07:16, , 1F
07/24 07:16, 1F
→
07/24 14:08, , 2F
07/24 14:08, 2F
→
07/24 14:10, , 3F
07/24 14:10, 3F
→
07/24 14:14, , 4F
07/24 14:14, 4F
→
07/24 14:14, , 5F
07/24 14:14, 5F
→
07/24 14:33, , 6F
07/24 14:33, 6F
→
07/24 14:49, , 7F
07/24 14:49, 7F