我想用下面的命令如何從類內部運行jar文件?
java Main -host arg1 arg2
但我已經遇到了一些troble爲我做了分開包裝項目運行程序。所以我得到一個jar文件,不能從上面的關鍵字運行main。我必須從命令行調用jar文件。
java -jar Main.jar arg1 arg2
但是我不希望那樣做,因爲它違背了我的規範。
你能幫助我嗎?
規格
只有文本的應用程序是所有需要的。它必須是網絡並運行,可以是主機(服務器)或命令行使用命令的客戶端 :
java BankApp -host PORT
java BankApp -client MACHINE PORT
以分別開始作爲主機或客戶機。例如,如果你知道主機是在端口8888上運行的阿羅哈你 將連接用:
java BankApp -client aloha 8888
什麼,我需要做的運行如下。
java -jar C:\Users\UniversityofBristol\Desktop\BankApp\BankApp\dist BankApp.jar arg1 arg2
公共將爲BankApp類{
public static void main(String[] args) throws IOException, ClassNotFoundException {
String current = new java.io.File(".").getCanonicalPath();
current = "java -jar " + current + "\\dist";
current = "\"" + current + "\"";
current = current + " BankApp.jar";
System.out.println("Current dir:" + current);
// Run a java app in a separate system process
Process proc = Runtime.getRuntime().exec(current);
// Then retreive the process output
InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();
}
}
,如果我知道你的規範,我可以幫助! –
嗨,我剛剛上傳規格! –
@AdityaSaxena - 看看在[的ProcessBuilder(http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html)的Javadoc對如何啓動一個很好的例子流程。請注意,可執行文件和參數都在單獨的字符串中! –