【问题标题】:Maven build debug in EclipseEclipse 中的 Maven 构建调试
【发布时间】:2012-09-17 20:58:59
【问题描述】:

我想通过测试来调试 Eclipse 构建。我尝试通过 Run > Debug Configurations > Maven Build 来运行它。在 Base 目录中是我的带有 pom.xml 文件的 Maven repo 目录,在目标“全新安装”中。当我单击调试 Eclipse 开始构建时,运行测试,但它不会在断点处停止。

【问题讨论】:

    标签: java eclipse debugging maven


    【解决方案1】:

    如果你使用的是 Maven 2.0.8+,那么它会很简单, 从控制台运行 mvndebug,并通过远程调试 Java 应用程序使用端口 8000 连接到它。

    【讨论】:

      【解决方案2】:

      您使用的运行/调试配置旨在让您在工作区上运行 Maven,就像从命令行一样,而无需离开 Eclipse。

      假设您的测试是基于 JUnit 的,您应该能够通过右键选择包含测试的源文件夹并选择 Debug as... -> JUnit tests 来调试它们。

      【讨论】:

      • 太棒了!我正在搜索如何在eclipse中调试maven项目,并且第1个链接有一百万步,我按照那个,一定犯了错误,并且没有工作。发现那篇文章的日期是 2008 年。
      【解决方案3】:

      问题:由于 eclipse 和 maven 使用的库的 ti 顺序,单元测试结果与 eclipse 和 maven 运行不同。 在我的情况下,maven 的测试是成功的,但我想使用 eclipse 调试我的单元测试,所以 使用 eclipse 和运行 maven 调试单元测试类的最简单方法是:

      1) mvn -Dtest=MySuperClassTest -Dmaven.surefire.debug test ==>它会监听5005端口(默认端口)

      2) 进入eclipse,打开一个调试配置,添加一个新的java远程应用并将端口改为5005并调试

      3) 当然,您必须在要调试的类中的某处添加断点

      【讨论】:

        【解决方案4】:

        我发现最简单的方法是:

        1. 右键项目

        2. 调试为 -> Maven 构建 ...

        3. 在目标字段中放置 -Dmaven.surefire.debug test

        4. 在参数中添加一个名为 forkCount 的新参数,其中包含一个值 0(以前是 forkMode=never,但已弃用且不再有效)

        设置断点并运行此配置,它应该会到达断点。

        【讨论】:

        • 我收到错误“无法将 [aa.properties] 作为类加载器资源加载”。我正在使用 ClassLoader.getSystemClassLoader().getResourceAsStream() 函数来加载它。我应该设置某个工作目录还是稍微更改此代码?
        • 参数 forkMode 自 2.14 版起已弃用。而是使用 forkCount=0
        • 在 surefire 2.19、2.18 和 2.17 中尝试过这个,但没有成功。不过,它确实适用于 2.12.4。有什么变化吗?
        • 我认为#3 应该是-Dmaven.surefire.debug=test(注意=)?
        • @Ternary 这就是为什么在教堂里相信比在电脑前更好。 ;) test 是目标。 -Dmaven.surefire.debug 是财产。不过,我把它写成test -Dmaven.surefire.debug
        猜你喜欢
        • 2013-08-23
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        • 2011-02-08
        • 2018-01-04
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        相关资源
        最近更新 更多