You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Eclipse中调试Maven Java应用程序?

解决Eclipse Luna调试Maven Java应用的配置问题

核心问题分析

你当前使用exec:exec目标启动应用,该目标会创建独立的Java进程运行程序,导致Eclipse无法直接关联调试;同时你把JDWP调试参数放在了主类之后,这会被当成程序的启动参数而非JVM参数,导致端口配置不生效,进程挂起等待调试连接却无法被正确连接。

解决方案:改用exec:java目标

exec:java目标会在Maven本身的VM中运行你的应用,Eclipse可以直接attach到这个VM进行调试,无需复杂的远程配置,和IntelliJ的一键调试逻辑一致。

步骤1:修改pom.xml的exec插件配置

将插件目标改为exec:java,并调整配置(无需手动指定JDWP参数,Eclipse会自动注入调试参数):

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <goals>
                <goal>java</goal> <!-- 替换原有的exec目标 -->
            </goals>
        </execution>
    </executions>
    <configuration>
        <mainClass>core.app.server</mainClass> <!-- 指定主类 -->
        <workingDirectory>${project.build.outputDirectory}</workingDirectory>
    </configuration>
</plugin>

步骤2:配置Eclipse调试启动项

  1. 点击Eclipse工具栏的调试按钮下拉菜单,选择Debug Configurations
  2. 在左侧列表中找到Maven Build,右键选择New
  3. 在Main标签页:
    • Base directory:选择你的Maven项目根目录(点击Workspace按钮选择)
    • Goals:填入exec:java
  4. 切换到JRE标签页,确保选择的是Java 8环境(和你的项目一致)
  5. 点击Apply保存配置

步骤3:启动调试

  1. 在你的代码中设置断点(点击代码行号左侧空白处)
  2. 在Debug Configurations中选中刚才创建的配置,点击Debug按钮
  3. 应用会启动并在断点处暂停,你可以正常使用Eclipse的调试功能(单步执行、查看变量等)

为什么之前的配置失败?

  • exec:exec启动独立进程,你手动添加的JDWP参数位置错误(应该放在java命令之后、主类之前),导致JVM未加载调试代理,进程挂起但无正确监听端口
  • 即使参数位置正确,你还需要手动创建Remote Java Application配置连接到指定端口,步骤繁琐且容易出错
  • exec:java在Maven的VM中运行,Eclipse调试配置会自动注入调试参数,无需额外配置即可直接关联调试

内容的提问来源于stack exchange,提问作者After_Sunset

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:25:27