当前位置: 首页 > 面试题库 >

在Eclipse中运行多个Java主要方法

梁丘宏硕
2023-03-14
问题内容

我正在运行Eclipse 3.5,并且经常遇到一个问题,为了测试程序,我必须单击6-7次,而不是单击“播放”按钮。

问题是我正在编写网络应用程序,因此我具有“服务器”的运行配置和“客户端”的运行配置。然后要测试我的程序,我必须先启动服务器,再启动一个客户端,然后再启动另一个客户端,等等。是否有将其自动化为一个运行配置的方法?


问题答案:

您可以直接调用任何类的main方法。例如,如果您具有Server和Client类,并且想要运行一台服务器和两个客户端,则可以执行以下操作。

public class Server {
    public void main(final String ... $Args) {
         final Server S = new Server();
         S.config($Args);
         S.run();
    }
}

public class Client {
    public void main(final String ... $Args) {
         final Client C = new Client();
         C.config($Args);
         C.run();
    }
}

public class Test_ServerClient {
    public void main(final String ... $Args) {
         Server.main('server1.cfg');
         Client.main('client1.cfg');
         Client.main('client2.cfg');
    }
}

做完了!

好吧,差不多。您可能要在调用客户端的main之前进行一些延迟,以确保服务器已启动并正常运行。

有人想。所有服务器和客户端将在同一JVM上运行。在大多数情况下(您只想测试其交互作用,而与类加载无关,因为它们在不同的JVM上的行为会有所不同),这应该很好。如果您真的希望使其在不同的JVM上运行,则可以使用Ant来运行它们。

像这样:

<project name="TestServerClient" default="test" basedir=".">
  <target name="test">
       <java classname="my.Server">
         <arg value="server1.cfg"/>
         <classpath>
           <pathelement location="dist/test.jar"/>
           <pathelement path="${java.class.path}"/>
         </classpath>
       </java>
       <java classname="my.Client">
         <arg value="client1.cfg"/>
         <classpath>
           <pathelement location="dist/test.jar"/>
           <pathelement path="${java.class.path}"/>
         </classpath>
       </java>
       <java classname="my.Client">
         <arg value="client2.cfg"/>
         <classpath>
           <pathelement location="dist/test.jar"/>
           <pathelement path="${java.class.path}"/>
         </classpath>
       </java>
  </target>
</project>

因此,您可以只运行此蚂蚁,仅此而已。

希望这可以帮助。



 类似资料:
  • 问题内容: 我有一个绝妙的主意,可以加快生成36个文件所需的时间:使用36个线程!不幸的是,如果我使用36个线程/会话启动一个连接(一个连接对象),那么与每次执行每个线程相比,所有事情的滞后性更大。 现在,如果我尝试创建36个新连接(36个连接对象),则每个线程都有一个单独的服务器连接,要么我退出内存异常(以某种方式程序仍然运行,并成功结束工作,但速度比我慢依次执行一个线程)。 那么该怎么办?如何

  • 嘿,我是新来的Spring,并试图在我的Applications.java.中运行多个运行方法 当我试图运行这个我得到一个异常。 有没有办法在main中同时调用这两个run方法? -StackTrace

  • 我已经用java编程几个月了,我决定做一个雅达利突围风格的游戏。我现在已经完成了这个游戏,并希望它在Eclipse中成为一个可运行的jar文件,所以我转到文件-

  • 我有一个大型java应用程序,在不同的类中有5个主要方法。我想将此应用程序作为docker容器运行。从DockerHub OpenJDK映像中,我启动了Dockerfile,如下所示 我想添加行来运行主要方法。没有Docker,我使用下面的行运行应用程序 是否可以在一个docker容器中运行上述场景?如果可能,当Dockerfile中只能有一条和指令时,如何实现这一点?

  • 我想运行我的gui,但是我不知道如何初始化这个类。我正在从python过渡到Java,所以我对这个还是相当陌生。代码有效,我只需要知道如何运行它。 如何在静态void main(String[] args)下运行init()方法?

  • 问题内容: 我想通过gradle任务运行我的方法 这是我通过cmd运行的方式: 应该如何写成gradle? 更新资料 我努力了 我得到: 我得到一个错误: 但是当我通过Intellij运行时,每个thig都可以正常工作 问题答案: 最简单的方法可能是使用应用程序插件。添加到您的build.gradle并设置。要将参数添加到主类,请修改运行任务并编辑args属性 类路径是从主sourceSet中自动