Maven - 使用surefire插件时无法在Eclipse中调试

时间:2012-08-24 08:45:39

标签: java maven maven-2

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

  

插件 - maven-surefire-plugin,groovy-maven-plugin和maven-jar-plugin     除了这个项目的依赖项和几个配置文件。

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

mvn clean install -P testProfile

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

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

使用maven时,不知道我做错了什么。

3 个答案:

答案 0 :(得分:2)

如果从Eclipse运行相同的命令,您的意思是单击鼠标右键并选择运行方式 - > Maven安装这是作为项目目录的外部程序执行的,而不是Eclipse本身。这就是你的断点没有参与的原因。

答案 1 :(得分:0)

Eclipse和maven不能很好地融合在一起。尝试点击F5从“项目”下更新和“清理”你的项目。

答案 2 :(得分:0)

我已经解决了这个问题。

  

这是由于使用了surefire-plugin。

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

如果要调试代码,则需要确保surefire不会分叉测试。为此,在启动调试

之前,在maven配置中进行以下设置
forkMode=never

这应该适合你。

有关详细信息,请访问surefire documentation页。