Eclipse - 将每个main方法分配给单独的控制台

时间:2013-02-17 18:05:22

标签: java eclipse console main

我正在编写一个程序,我想知道当我运行以下主要方法时,eclipse是否可以为每个main自动打开单独的控制台:

public static void main(String[] args) {
    object1.main(args);
    object2.main(args);
    object3.main(args);
    object4.main(args);
}

我目前的解决方案是运行每个主要方法并选择适当的方法在“显示所选控制台”选项中查看,尽管每次我想测试我的程序时这是一个非常繁琐的过程。我对你的任何建议都非常感激。

由于

1 个答案:

答案 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或类似内容。)

不确定这是否是您要找的。希望这会有所帮助。