3

我有一个包含许多测试用例的项目,我使用 Maven surefire 插件 2.13 对其进行编译。当我设置forkmode = none一切正常时,但是当我省略该条目时,默认值forkmode变为once并且我的项目失败:

Forking command line: cmd.exe /X /C ""C:\Program Files\Java\jdk1.6.0_37\jre\bin\java" -jar G:\Gottware-server\core\math\target\surefire\surefirebooter
7758025909061587587.jar G:\Gottware-server\core\math\target\surefire\surefire8735550212668630533tmp G:\Gottware-server\core\math\target\surefire\suref
ire_08386349728753606434tmp"
The system cannot find the path specified.

看起来这是一个操作系统问题,我使用的是 Windows 7。可能出了什么问题?很好奇的是,在成功构建之后,我也遇到了同样的错误:

[INFO] -----------------------------------------------
[INFO] BUILD SUCCESS
[INFO] -----------------------------------------------
[INFO] Total time: 15.504s
[INFO] Finished at: Fri Mar 08 15:08:54 CET 2013
[INFO] Final Memory: 13M/353M
[INFO] -----------------------------------------------
The system cannot find the path specified.

事实上,我已经调试了我的 mvn.bat maven 的最后一行

cmd /C exit /B %ERROR_CODE%

这根本不再起作用返回:

The system cannot find the path specified.

我进一步调试:

U:\>cmd.exe
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
The system cannot find the path specified.
4

3 回答 3

2

在您粘贴的行中,我看到一个双引号:

Forking command line: cmd.exe /X /C ""C:\Program
                                   ^^^^

也许您为 JAVA_HOME (或您定义 Java 路径的其他地方)设置了错误的值。这也可以解释为什么它不会在其他系统上失败:那里有一个不同的(并且正确的)JAVA_HOME。

于 2013-03-08T15:43:17.580 回答
1

surefire 插件并不总是报告友好的错误。我可以考虑检查的几件事:

  • 有多少磁盘空间可用G:\Gottware-server\...?您是否会遇到磁盘配额(在 NAS 共享上)或者您的笔记本电脑驱动器已满?
  • 检查本地工件存储库的位置。你有没有达到配额/房间用完?
  • 构建机器上有多少可用内存?您是否有足够的内存来在单独的 JVM 中运行测试,如果有,JVM 是否配置为具有足够的内存?您可以尝试使用该<argLine>属性来配置分叉 VM 的内存设置。(我还帮助了一些内存设置很大的人,<argLine>在运行 Eclipse 和多个浏览器窗口等时,他们的机器上的内存设置更多。在这种情况下,降低分叉 JVM 的内存设置解决了这个问题。)
于 2013-03-09T04:08:23.597 回答
0

我遇到了同样的错误,因为我在 cmd 启动时自动启动了一个 bat 文件(我猜是一些链接路径问题)。

我将引用这个答案来解释我的解决方案:https ://superuser.com/questions/144347/is-there-windows-equivalent-to-the-bashrc-file-in-linux#answer-916478

我的脚本被称为bashrc.bat,我把它放在我的%USERPROFILE%文件夹下。

在注册表编辑器 ( regedit) 中,我找到了以下条目:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

然后添加了一个名为 Autorun 的键,其值为 %USERPROFILE%\bashrc.bat

当我从注册表中删除此键时,再次启动 cmd 后,该行The system cannot find the path specified.不再显示,并且surefire可以恢复其活动。

于 2019-12-10T01:56:07.370 回答