【发布时间】:2013-07-04 09:55:12
【问题描述】:
我想使用以下命令运行一个程序
java Main -host arg1 arg2
但是,当我在单独的包中制作项目时,我遇到了一些麻烦。所以我得到了一个 jar 文件,无法从上面的关键字运行 main。因此,我必须从命令行调用 jar 文件。
java -jar Main.jar arg1 arg2
但是我不希望这样,因为它违反了我的规范。
你能帮帮我吗?
规格
只需要一个纯文本应用程序。它必须联网并作为主机(服务器)或 客户端从命令行使用命令:
java BankApp -host PORT
java BankApp -client MACHINE PORT
分别作为主机或客户端启动。例如,如果您知道主机在端口 8888 的 aloha 上运行 您将与:
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,javaDoc 有一个关于如何启动进程的好例子。请注意,可执行文件和参数都在单独的字符串中!
标签: java command-line jar