0

我有一个 pom.xml,其中声明了以下内容

插件 - maven-surefire-plugin、groovy-maven-plugin 和 maven-jar-plugin 以及项目的这两个依赖项和几个配置文件。

当我从命令行运行以下命令时,事情会按预期移动

mvn clean install -P testProfile

但是当我尝试从 Eclipse 运行相同的命令(用于调试目的)时,maven 运行良好(maven 尝试解决依赖关系,但由于错误而停止进一步处理)但未启动调试模式,即它确实在我指定的断点处停止.

但是当我尝试调试与 JUnit 相同的项目时,它确实会在这些断点处停止。

在使用 Maven 时,知道我做错了什么。

4

3 回答 3

2

如果通过从 Eclipse 运行相同的命令,您的意思是单击鼠标右键并选择Run as -> Maven install这将作为项目目录上的外部程序执行,而不是在 Eclipse 本身中执行。这就是为什么你的断点没有参与。

于 2012-08-24T08:56:02.903 回答
1

好吧,我已经解决了这个问题。

这是由于使用了surefire-plugin。

当您使用 surefire 插件时,它会在另一个分叉的进程中运行您的测试,而不是在当前进程中,这就是您无法调试代码的原因。

如果你想调试你的代码,你需要确保 surefire 不会分叉测试。为此,在启动调试之前将以下设置放入您的 Maven 配置中

forkMode=never

这应该为您完成这项工作。

有关更多信息,请访问surefire 文档页面。

于 2012-08-24T13:03:30.670 回答
0

Eclipse 和 maven 不能很好地结合在一起。尝试按 F5 从“项目”下更新和“清理”您的项目。

于 2012-08-24T08:57:08.480 回答