作者CrazyBoss (CrazyBoss)
看板java
标题Re: [问题] call另一个Class的main,原程式就结束?
时间Sat Nov 17 22:34:03 2012
※ 引述《CrazyBoss (CrazyBoss)》之铭言:
: 标题: [问题] call另一个Class的main,原程式就结束?
: 时间: Sat Nov 17 18:30:52 2012
:
: 我要执行的主程式:
:
: package ManyMain;
:
: import XXX.jar档;
:
: public class ManyMain {
:
: public static void main(String[] args) {
: XXX.main("1");
: XXX.main("2");
: XXX.main("3");
: }
: }
:
: -------------------------------------------------------------
分享一下解法好了
首先我觉得GW_MsgSender.jar应该是有System.exit()这行
导致call一次GW_MsgSender.main()就会结束所有程式
我在网路上找到这个网页
http://ppt.cc/9UGy
解决办法就是利用网页上说的在runtime时call别的程式
import java.io.File;
import java.io.IOException;
import XXX.jar档
public class ManyMain {
static File f1 = new File(".jar档的位置");
static String[] envp = {"Java的bin资料夹位置"};
public static void main(String[] args) throws IOException, InterruptedException {
Runtime rt = Runtime.getRuntime();
Process p1 = null;
Process p2 = null;
Process p3 = null;
p1 = rt.exec("java -jar XXX.jar档 参数0 参数1 参数2", envp, f1);
p1.waitFor();
p2 = rt.exec("java -jar XXX.jar档 参数0 参数1 参数2", envp, f1);
p2.waitFor();
p3 = rt.exec("java -jar XXX.jar档 参数0 参数1 参数2", envp, f1);
p3.waitFor();
}
}
-------------------------------------------------------------
简单来说就是像在cmd里执行java -jar XXX.jar档 参数0 参数1 参数2
最後谢谢lachtchlee给的建议XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.82.219
※ 编辑: CrazyBoss 来自: 140.116.82.219 (11/17 22:36)
※ 编辑: CrazyBoss 来自: 140.116.82.219 (11/17 22:39)
1F:推 LaPass:真的是用开另外一个jvm给他的方式 XD 11/17 22:43
2F:推 darkk6:用 JD-GUI 或 Bytecode Editor decompile >///< 11/17 22:50
3F:→ CrazyBoss:对就是在开jvm,不过好像没什麽人讨论QQ" 11/17 22:58
※ 编辑: CrazyBoss 来自: 140.116.82.219 (11/17 23:13)
4F:推 PsMonkey:exec 不是什麽神奇招式,之前常常有人问 11/18 09:06
5F:→ PsMonkey:反过来说,有 System.exit() 的 lib/app 真的要这样用吗 11/18 09:07
6F:→ iFEELing:刚入门的时候有把System.exit() 写在jsp里呢.... 11/18 09:54
7F:推 LaPass:orz.... 那会把整个系统停掉吧.... 11/18 11:38
8F:→ CrazyBoss:我改一下标题让人好搜寻 11/18 14:04
9F:→ sbrhsieh:可以考虑使用 bytecode engineering(含AOP) 方式把 11/18 18:10
10F:→ sbrhsieh:System.exit call 移除或抑制掉。 11/18 18:11
11F:推 qrtt1:SecurityManager 也可以阻挡 System.exit 11/18 22:41