Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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-使用surefire插件时无法在Eclipse中调试_Java_Maven_Maven 2 - Fatal编程技术网

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

Java Maven-使用surefire插件时无法在Eclipse中调试,java,maven,maven-2,Java,Maven,Maven 2,我有一个pom.xml,它声明了以下内容 插件-maven surefire插件、groovy maven插件和maven jar插件 以及项目的这两个依赖项和两个概要文件 当我从命令行运行以下命令时,事情会按预期移动 mvn clean install -P testProfile 但是,当我尝试从Eclipse运行相同的命令(出于调试目的)时,maven运行良好(maven尝试解析依赖项,但由于错误而停止了进一步的处理),但调试模式没有启动,即它在指定的断点处停止 但是,当我尝试调试与JU

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

插件-maven surefire插件、groovy maven插件和maven jar插件 以及项目的这两个依赖项和两个概要文件

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

mvn clean install -P testProfile
但是,当我尝试从Eclipse运行相同的命令(出于调试目的)时,maven运行良好(maven尝试解析依赖项,但由于错误而停止了进一步的处理),但调试模式没有启动,即它在指定的断点处停止

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


你知道我在使用maven时做错了什么吗。

如果从Eclipse运行相同的命令,你的意思是,单击鼠标右键并选择运行方式->maven安装这是作为项目目录上的外部程序执行的,而不是在Eclipse本身中。这就是断点未被占用的原因。

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

Eclipse和maven不能很好地配合使用。试着点击F5从“项目”下更新并“清理”您的项目。

Eclipse和maven在一起玩得不好。尝试按F5更新并从“项目”下“清理”项目。

我已经解决了这个问题

这是由于使用了surefire插件

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

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

forkMode=never
这应该能帮到你


有关更多信息,请访问第页。

我已经解决了这个问题

这是由于使用了surefire插件

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

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

forkMode=never
这应该能帮到你


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

我使用右键单击->调试方式…->创建Maven配置并单击调试。你的说法现在也成立了吗?我想是的,尽管政府对此并不清楚。这实际上只是一种通过选择参数来运行Maven的方法,而不必打开shell/cmd窗口创建Maven配置并单击调试。你的说法现在也成立了吗?我想是的,尽管政府对此并不清楚。这实际上只是一种通过选择参数来运行Maven的方法,而无需打开shell/cmd窗口。