Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么maven在测试结束时被卡住了?_Java_Maven - Fatal编程技术网

Java 为什么maven在测试结束时被卡住了?

Java 为什么maven在测试结束时被卡住了?,java,maven,Java,Maven,我有一个问题,maven在测试的最后被卡住了 Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.235 sec Results : Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 但未显示生成成功消息。 为什么?我发现我们正在使用 Process proc = new ProcessBuilder("cmd", "/C", "start", "/B", "note

我有一个问题,maven在测试的最后被卡住了

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.235 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
但未显示
生成成功
消息。
为什么?

我发现我们正在使用

Process proc = new ProcessBuilder("cmd", "/C", "start", "/B", "notepad").start();
启动外部应用程序。该应用程序与java进程相关联。在外部应用程序也被终止之前,java进程不会终止。即使有了所有这些cmd/start魔法,windows和Java也不会将进程分开。在阅读了大量的博客和网站后,他们都提出了同样的建议。刷新输出缓冲区,并读取所有STD ERR和STD OUT数据流。然而,这并没有起作用。Java仍然说,“仍然有一个应用程序在运行!”

答案是确保java不知道应用程序正在运行。我是通过使用

Process proc = new ProcessBuilder("rundll32", "SHELL32.DLL,ShellExec_RunDLL", "notepad").start();
在这个方法中,java调用rundll32,并使用SHELL32 DLL函数ShellExec_RunDLL来启动应用程序。Java没有检测到这个新的“记事本”进程,RundL32几乎立即退出。我还遵循了所有正确的方法来刷新输出并获取rundll32的STD OUT和STD ERR

后台应用程序notepad运行得很好,maven完成了预期的工作

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.935 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 seconds
[INFO] Finished at: Mon Mar 18 11:28:54 PDT 2013
[INFO] Final Memory: 27M/72M
[INFO] ------------------------------------------------------------------------