【问题标题】:Maven3 - Debug main source code onlyMaven3 - 仅调试主要源代码
【发布时间】:2013-10-30 03:51:00
【问题描述】:

我有一个独立的 maven 项目,我在其中使用 org.codehaus.mojo exec 插件运行 java 程序。

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>java</executable>   
                    <argument>-classpath</argument>
                    <classpath>
                    </classpath>
                    <argument>com.abc.Main</argument>
                </arguments>
            </configuration>
        </plugin>

我在 src/test/java 目录下也有测试用例,我可以使用surefire插件进行调试。但是,我无法通过运行 com.abc.Main 类直接使用 mvnDebug 调试主代码(尽管通过在 mvnDebug 侦听的端口上以调试模式附加 Eclipse 工作区项目看起来很简单)。我想知道我们是否可以直接在主代码上使用surefire插件进行调试?

更新

我使用安装了“Maven Integration for Eclipse”插件的 Eclipse Kepler 版本

【问题讨论】:

  • 通常,当没有人回复时,你知道你没有很好地解释和说明你的问题......显示一些代码,画一张图片,更多地解释你的问题。我也有一个问题:我的一些代码没有达到我的预期。你知道出了什么问题吗? :)
  • 好的,我按照你的建议更新了这个。是的,我知道出了什么问题,这就是我在这个网站上的原因:)

标签: java eclipse debugging maven-3 surefire


【解决方案1】:

尝试像这样运行 Maven:

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9001 -Xnoagent" clean install

并使用远程调试器连接到端口 9001。这将允许您在测试代码中放置断点。

【讨论】:

  • 谢谢,您的命令在这里运行我不想要的测试用例类。我只想在调试模式下运行主程序。我通过用“exec:exec”替换“干净安装”来尝试您的命令。它只是运行我的程序而没有调试它。使用您的命令,我可以“通过”测试用例作为起点来调试我的主要源代码,我已经知道并在我的帖子中提到了这一点。
  • 在这种情况下,尝试通过传入此处描述的 JVM 调试选项来调试 exec:execstackoverflow.com/questions/2935375/debugging-in-maven
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 2011-11-08
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
相关资源
最近更新 更多