【问题标题】:Debug maven application in Intellij Idea在 Intellij Idea 中调试 maven 应用程序
【发布时间】:2014-03-22 14:06:08
【问题描述】:

我有一个 POM(标准网络应用程序):

<build>
    <finalName>sandbox</finalName>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>1.0.1.Final</version>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>1.0.1.Final</version>
            <configuration>
                <jboss-home>c:\dev\wildfly8\</jboss-home>
            </configuration>
            <executions>
                <execution>
                    <phase>install</phase>
                    <goals>
                        <goal>run</goal>
                        <goal>deploy</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我想在 Idea 13.1 中运行这个应用程序。我创建了 Maven 运行/调试配置:

当我单击“调试”时,所有目标都已执行,Wildfly 已运行,但调试器窗口(选项卡)未出现,调试图标呈灰色显示。我认为问题出在 POM Wildfly 配置中。但我不知道该怎么办。谢谢。

PS 我使用了我在另一个项目中使用的类似模式,带有码头插件,效果很好。

编辑:我寻求一个利用 Maven 目标来构建项目的过程。

【问题讨论】:

    标签: java maven intellij-idea


    【解决方案1】:

    从我收集到的屏幕截图来看,您正在启动一个空的 maven 配置,它还在运行之前运行 2 个 maven 插件/步骤,例如:

    1. sanbox:干净
    2. sandbox:instal [这也会启动服务器]
    3. 空的 Maven 配置

    这将导致 Idea 尝试调试您的“空配置”运行。因为我不知道是否有dedicated plugin that supports managing wildfly from inside Idea,所以我将服务器配置为允许调试,我将我的 Idea 调试设置更改为“远程应用程序”并填写详细信息。这样服务器应该从第 2 步开始,第 3 步将启动远程调试会话

    编辑:正确 JBoss 运行/调试配置的屏幕截图

    【讨论】:

    • Wildfly 是 jboss 的新名称,受支持。
    • 我看到了,但由于我没有使用它,我不知道更改是否与 JBoss Idea 插件兼容。您可以通过确保启用插件来验证它,并创建一个本地 JBoss 运行/调试配置,并在实际执行之前运行 maven compile 和也许 package
    • 我注释掉了执行标签并在命令行选项中添加了 wildfly:run。当前调试器不会冻结并且会出现它的窗口。我可以看到 WF 正在启动和部署我的应用程序。不幸的是断点不起作用。明天早上继续。
    • 就像我说的,如果你继续使用“maven run/debug”配置,Idea 会尝试调试 maven 运行。您需要将其更改为“JBoss”或“远程应用程序”配置。请参阅随附的屏幕截图
    • 我在另一个项目中使用了 maven 运行配置,它运行良好。如果我同意你的建议,那么我最终会得到重复的构建系统——一个用于 maven,一个用于创意,因为没有要部署的创意工件。所以我必须创建它,然后让 Idea 自己构建项目。但是随后启动 Maven 目标来构建是没有意义的。如果你尝试一下,你会发现idea需要不同的输出目录名(sandbox.war)和maven(sandbox)。
    猜你喜欢
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2013-05-19
    • 2017-12-04
    • 2015-07-05
    相关资源
    最近更新 更多