【问题标题】:Jar with multiple main有多个主要的罐子
【发布时间】:2016-01-19 09:47:08
【问题描述】:

在一个包中,我有两个不同的类 Client.java 和 Server.java 我想做这个包jar,我的意思是可执行的。 首先,我希望 Server 类运行,2-3 秒后我希望 Client 方法运行。可能吗?

谢谢

【问题讨论】:

  • 从一个主类开始,然后等待它完全执行或休眠几秒钟或根据您的要求生成一个新线程,这将调用其他类的主方法。从未听说过一个类拥有超过 1 个主要方法。
  • 对我来说听起来像是一个多线程问题

标签: java jar server client main


【解决方案1】:

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

为此,请查看Runnable 接口。您的服务器类和客户端类应该实现它。然后你必须移动逻辑,用于启动服务器和客户端到它的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();
}

【讨论】:

    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2022-01-13
    • 1970-01-01
    • 2013-11-11
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多