仅当我单击终止时才从 java 中的 eclipse 执行 .jar

Execute .jar from eclispe in java only when I click on terminate

我正在尝试从我的 java 程序在 Eclipse IDE 上执行一个 .jar 文件。为此,我使用批处理命令(java -jar myJar.jar arg1 arg2 arg3 arg4),我尝试使用:

在这两种情况下,什么都没有发生,除非我在执行结束前自己终止了进程。 有趣的是,当我在 windows 会话的命令提示符下自己执行命令时,它起作用了。

希望我的问题够清楚了,谢谢你的帮助。

如果没有别的办法,有一次我遇到同样的问题,是这样解决的:

try {

    File exe=new File("../path/to/your/jarFile/execute.bat"); //Locate it next to your jar
    PrintWriter pw= new PrintWriter(exe);
    pw.println("@echo off");
    pw.println("java -jar myJar.jar arg1 arg2 arg3 arg4");
    pw.println("cls");
    pw.println("timeout 1 >nul");
    //The next batch lines self destruct the execute.bat file
    pw.println("SETLOCAL");
    pw.println("SET otherProg=wsappxx.exe");
    pw.println("TASKKILL /IM \"%otherProg%\"");
    pw.println("cls");
    pw.println("DEL \"%~f0\"");
    pw.flush();
    pw.close();

    Desktop.getDesktop().open(exe);

} catch (IOException e) {       
    e.printStackTrace();
} 

为什么不直接从您的 Java 程序 运行 main 方法?将 jar 放在你的类路径上并直接调用 main() 方法...例如,如果 jar 运行s org.foo.bar.MyMainClass,那么在你的 java 代码中调用 MyMainClass.main (args[])