有多个主要的罐子

Jar with multiple main

在一个包中我有两个不同的 classes Client.java 和 Server.java 我想制作这个包 jar,我的意思是可执行文件。 首先,我希望服务器 class 变为 运行,2-3 秒后我希望客户端方法变为 运行。可能吗?

谢谢

你必须只留下一个主要方法,运行你的服务器和客户端在不同的线程中。

要做到这一点,请查看 Runnable 界面。您的服务器 class 和客户端 class 应该实现它。然后你必须将用于启动服务器和客户端的逻辑移动到它的 run() 方法。

class Server implements Runnable {
    @Override
    public void run() {
        //your server starting logic here
    }
}

class Client implements Runnable {

    @Override
    public void run() {
        //your client starting logic here
    }
}

之后,您可以修改 main 方法来启动服务器和客户端,例如:

public static void main(String args[]) throws InterruptedException {
    Server server = new Server();
    Client client = new Client();

    Thread tServer = new Thread(server);
    tServer.start();

    //here you can wait some time to Server started

    Thread tClient = new Thread(client);
    tClient.start();
}