我在一个java应用程序中有多个类,每个类都有一个main函数。我目前必须手动启动每个班级。是否有任何可能的方法以特定顺序一起运行它们。因此,当一个课程结束时,第二个课程自动开始。我想过制作一个可执行文件,但不知道从哪里开始以及如何使用多个主要功能来实现这一点。
答案 0 :(得分:2)
假设您想要运行A,B和C中的主要功能。所以用
编写另一个类(比如说D)public static void main(String args[]) {
A.main(args);
B.main(args);
C.main(args);
}
然后运行D类。
答案 1 :(得分:1)
如何编写一个接一个地运行您的类的简单脚本(* .bat或* .sh):
java -cp myJar.jar com.foo.mainClass1
java -cp myJar.jar com.bar.mainClass2
java -cp myJar.jar com.baz.mainClass3
// and so on
答案 2 :(得分:0)
主要方法只是名为main
的方法。如果你想按顺序调用它们,我会创建一个main方法,按照所需的顺序调用每个方法。
class ClassA {
public static void main(String... args) {
ClassB.main(args);
ClassC.main(args);
ClassD.main(args);
}
}
答案 3 :(得分:0)
您可以从一个类中简单地调用其他类的main函数。 您可以决定您的序列,如A类调用B类的主要。
答案 4 :(得分:0)
一个解决方案可能就是这个:
interface App
{
public void execMain(String args[]);
}
class MyApp1 implements App
{
public void execMain(String args[])
{
// Stuff for App1
}
}
class MyApp2 implements App
{
public void execMain(String args[])
{
// Stuff for App2
}
}
//...
你的主要终于:
public class Main
{
// The list of apps
private static App apps[] = new App[]
{
new MyApp1(),
new MyApp2(),
// ...
}
public static void main(String args[])
{
for(App a : apps)
{
a.execMain(args);
}
}
}
通过这种方式,您可以轻松添加要执行的其他应用。