我有一个pom.xml,它声明了以下内容
插件 - maven-surefire-plugin,groovy-maven-plugin和maven-jar-plugin 除了这个项目的依赖项和几个配置文件。
当我从命令行运行以下命令时,按预期移动
mvn clean install -P testProfile
但是当我尝试从Eclipse运行相同的命令(用于调试目的)时,maven运行良好(maven尝试解决依赖关系,但由于错误导致进一步处理暂停)但是调试模式没有启动,即它确实停在我指定了断点。
但是当我尝试调试与JUnit相同的项目时,它会在这些断点处停止。
使用maven时,不知道我做错了什么。
答案 0 :(得分:2)
如果从Eclipse运行相同的命令,您的意思是单击鼠标右键并选择运行方式 - > Maven安装这是作为项目目录的外部程序执行的,而不是Eclipse本身。这就是你的断点没有参与的原因。
答案 1 :(得分:0)
Eclipse和maven不能很好地融合在一起。尝试点击F5从“项目”下更新和“清理”你的项目。
答案 2 :(得分:0)
我已经解决了这个问题。
这是由于使用了surefire-plugin。
当您使用surefire插件时,它会在另一个分叉进程中运行您的测试,而不是在当前进程中运行,这就是您无法调试代码的原因。
如果要调试代码,则需要确保surefire不会分叉测试。为此,在启动调试
之前,在maven配置中进行以下设置forkMode=never
这应该适合你。
有关详细信息,请访问surefire documentation页。