Bạn có thể gọi trực tiếp phương thức chính của bất kỳ lớp nào. Ví dụ, nếu bạn có lớp Server và Client và bạn muốn chạy một máy chủ và hai máy khách, đây là những gì bạn có thể làm.
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');
}
}
Xong!
Vâng, gần như vậy. Bạn có thể muốn làm một số chậm trễ trước khi gọi chính của khách hàng chỉ để đảm bảo máy chủ được và chạy đúng.
Một người nghĩ vậy. Tất cả các Máy chủ và Máy khách sẽ được chạy trên cùng một JVM. Trong hầu hết trường hợp (bạn chỉ muốn kiểm tra tương tác của nó và không có gì để làm với việc nạp lớp vì nó sẽ hoạt động khác khi chúng/không có trên cùng một JVM), điều này sẽ ổn. Nếu bạn thực sự muốn o làm cho nó chạy trên JVM khác nhau, bạn có thể sử dụng Ant để chạy chúng thay thế.
Something như thế này:
<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>
Vì vậy, bạn chỉ có thể chạy ant này và đó là nó.
Hy vọng điều này sẽ hữu ích.
Xem câu hỏi này: http://stackoverflow.com/questions/316761/how-to-launch-multiple-java-programs-with-one-configuration-on-separate-consoles – JesperE
Để tóm tắt tất cả các câu trả lời cho đến thời điểm này: Eclipse không thể làm điều đó, bạn sẽ cần một công cụ khác hoặc một số giải pháp hackish. – lvella
Thực sự có một vé được mở tại trang web Eclipse yêu cầu chức năng này rất giống nhau. Một trong những người đóng góp đã đề xuất một plugin cho phép nhóm nhiều cấu hình khởi chạy hơn và bắt đầu tất cả chúng cùng một lúc. Mặc dù chức năng của nó bị hạn chế nhưng nó thực sự là một công việc tuyệt vời. Mã nguồn được bao gồm để bạn có thể thực hiện các thay đổi nếu cần. Có sẵn ở đây: https://bugs.eclipse.org/bugs/show_bug.cgi?id=39900#attach_177951 –