在Eclipse内部调试ProcessBuilder进程

Suu*_*ule 6 java eclipse debugging

首先,让我解释一下我想要实现的目标.我得到了由jBoss web容器运行的web应用程序(我们称之为MainApp).我的MainApp通过ProcessBuilder将jar文件作为单独的进程启动.

我读到我应该使用eclipse功能"远程Java应用程序",但它似乎不适合我.

那么让我告诉你我正在遵循的步骤:

java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar secondApp.jar
Run Code Online (Sandbox Code Playgroud)
  • 在我的ProcessBuilder中,我将命令行设置为上面的指令
  • 在run-> debug配置中我正在设置新的远程java应用程序,主机设置为localhost和端口设置为5005.
  • 而且我正在从端口上的eclipse运行jBoss容器中的MainApp 8010.
  • 而且我不知道该怎么办.

所以,让我添加一些注释,以便更好地理解我的问题.在我的WebApplication中,我得到了这样的代码类:

    String commandLine = "java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar secondApp.jar";

    ProcessBuilder pb = new ProcessBuilder(commandLine);
    pb.run();
Run Code Online (Sandbox Code Playgroud)

它或多或少都是这样的:在jBoss中部署MainApp,当某个动作发生时,启动新的Process,它在服务器机器上启动secondApp.jar.