我正在运行Eclipse 3.5并且我经常遇到问题,为了测试我的程序,我必须做大约6-7次点击而不是单击播放按钮.
问题是我正在编写网络应用程序,因此我有一个"服务器"的运行配置和"客户端"的运行配置.然后,为了测试我的程序,我必须启动服务器,然后是客户端,然后是另一个客户端等.无论如何要将其自动化为一个运行配置吗?
Naw*_*Man 16
您可以直接调用任何类的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');
}
}
Run Code Online (Sandbox Code Playgroud)
完成!
好吧,差不多.您可能需要在调用主客户端之前做一些延迟,以确保服务器正常运行.
有人想到.所有服务器和客户端都将在同一个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>
Run Code Online (Sandbox Code Playgroud)
所以你可以运行这个蚂蚁就是这样.
希望这可以帮助.
归档时间: |
|
查看次数: |
21106 次 |
最近记录: |