我正在研究一个程序,我想循环几个配置文件,并且每个文件都调用一个具有该文件名的类作为参数,并等待它完。目前我在做:调用类,等待它退出,再次调用
for (int i = 1; i <= 3; i++){
String[] a = new String[1];
a[0] = "data/config" + i + ".xml";
edu.cwru.sepia.Main2.class.getMethod("main", String[].class).invoke(null, (Object)a);
}
然而,会发生什么是该类只被调用一次,然后整个程序停止。我认为在课堂上有一个退出线,但由于它是一个JAR文件,我不能确定,我不能编辑它。
让我们假设是这样;我将如何解决这个问题来做我想做的事?即在调用以退出结束之后,我的外部循环方法继续,并且只用下一个参数再次调用该类。
在单独的线程中产生该方法。 – engineerC 2014-12-07 04:44:06
@CaptainMurphy在一个单独的线程中生成不会阻止显式调用jar文件中的System.exit()来终止JVM - 对于所有线程。 – 2014-12-07 04:44:49
@christianhujer够公平的。如果这个jar坚持杀死jvm,你必须为每个调用产生一个新的jvm。在这种情况下,为什么不只是一个bash脚本。 – engineerC 2014-12-07 04:46:54