我正在编写一个程序,我想知道当我运行以下主要方法时,eclipse是否可以为每个main自动打开单独的控制台:
public static void main(String[] args) {
object1.main(args);
object2.main(args);
object3.main(args);
object4.main(args);
}
我目前的解决方案是运行每个主要方法并选择适当的方法在“显示所选控制台”选项中查看,尽管每次我想测试我的程序时这是一个非常繁琐的过程。我对你的任何建议都非常感激。
由于
答案 0 :(得分:1)
如果您从另一个main
方法中对main
方法进行多次调用,则这与多次调用任何其他静态方法没有什么不同。特别是,程序的所有实例都将在同一个JVM中执行。
相反,您可以使用简单的Ant script来启动程序的多个实例,例如:
<?xml version="1.0"?>
<project name="Test" default="run_external">
<target name="compile">
<delete dir="bin" />
<mkdir dir="bin" />
<javac srcdir="src" destdir="bin" />
</target>
<target name="run_many" depends="compile">
<parallel>
<java classname="test.Main" classpath="bin" />
<!-- copy-paste 'java' block for more instances -->
</parallel>
</target>
<target name="run_external" depends="compile">
<parallel>
<exec executable="xterm" dir="bin">
<arg value="-e" />
<arg value="java test.Main" />
</exec>
<!-- copy-paste 'exec' block for more instances -->
</parallel>
</target>
</project>
此脚本定义了三个目标 - 执行哪些目标在default
参数中确定。
compile
只调用javac
来构建src
目录中的所有源。这是在运行任何其他目标之前自动执行的。run_many
,只是多次并行启动您的Main类。每个实例都将在一个单独的JVM中运行,但所有这些实例的输出将在Eclipse的控制台窗口中混合。run_external
启动运行相应Java进程的xterm
终端仿真程序,即对于程序的每个实例,都应弹出一个新终端。 (在Windows上执行此操作时,您可能必须使用cmd.exe
或类似内容。)不确定这是否是您要找的。希望这会有所帮助。