在 Java 程序中执行另一个 jar
2022-08-31 08:17:58
我写了几个简单的java应用程序,命名为A.jar,B.jar。
现在我想写一个GUI java程序,这样用户就可以按按钮A执行A.jar按钮B执行B.jar。
另外,我想在我的GUI程序中输出运行时进程详细信息。
有什么建议吗?
我写了几个简单的java应用程序,命名为A.jar,B.jar。
现在我想写一个GUI java程序,这样用户就可以按按钮A执行A.jar按钮B执行B.jar。
另外,我想在我的GUI程序中输出运行时进程详细信息。
有什么建议吗?
如果我理解正确,似乎您希望从java GUI应用程序内部在单独的进程中运行jar。
为此,您可以使用:
// Run a java app in a separate system process
Process proc = Runtime.getRuntime().exec("java -jar A.jar");
// Then retreive the process output
InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();
缓冲进程的输出始终是很好的做法。
.jar不可执行。实例化类或调用任何静态方法。
编辑:在创建 JAR 时添加主类条目。
>p.mf(p.mf 的含量)
主类: pk.测试
>Test.java
package pk;
public class Test{
public static void main(String []args){
System.out.println("Hello from Test");
}
}
使用进程类及其方法,
public class Exec
{
public static void main(String []args) throws Exception
{
Process ps=Runtime.getRuntime().exec(new String[]{"java","-jar","A.jar"});
ps.waitFor();
java.io.InputStream is=ps.getInputStream();
byte b[]=new byte[is.available()];
is.read(b,0,b.length);
System.out.println(new String(b));
}
}