【问题标题】:Wildfly-Swarm enable debugWildfly-Swarm 启用调试
【发布时间】:2018-06-02 02:22:53
【问题描述】:

我已经成功地将我的“战争”应用程序转换为一个空心罐子。

我最大的问题是,即使按照文档,仍然无法启用调试模式(我想要的端口是 8784)

我很确定我错过了什么,但是……什么?

            <plugin>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>wildfly-swarm-plugin</artifactId>
            <version>${wildfly-swarm.version}</version>
            <executions>
                <execution>
                    <id>package</id>
                    <goals>
                        <goal>package</goal>
                    </goals>
                    <configuration>
                        <hollow>true</hollow>
                        <properties>
                            <swarm.debug.port>8784</swarm.debug.port>
                            <debug.port>8784</debug.port>
                            <swarm.debug.bootstrap>true</swarm.debug.bootstrap>
                            <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                        </properties>
                    </configuration>
                </execution>
            </executions>
        </plugin>

【问题讨论】:

    标签: wildfly-swarm


    【解决方案1】:

    swarm.sebug.port 属性仅在通过 Swarm Maven 插件启动应用程序或使用 Swarm Arquillian 适配器时相关。使用java -jar myapp-swarm.jar 启动应用程序时,您需要使用标准的Java 方式启用远程调试,例如java -Xdebug -agentlib:jdwp=transport=dt_socket,address=8784,server=y,suspend=n -jar myapp-swarm.jar

    【讨论】:

    • 嗨,我设法通过命令行使用 java jar 完成了它,但尝试使用 mvn wildflyswarm 插件但没有成功
    • 如果您使用的是空心 JAR,不确定它是否对 Maven 插件有意义。
    【解决方案2】:

    你可能想看看:

    第一个链接是相关链接。如果您使用 IntelliJ for IDE,我将包含第二个以获取更多信息。

    简单来说,这是我的 pom 配置:

        <plugin>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>wildfly-swarm-plugin</artifactId>
            <version>${version.wildfly.swarm}</version>       
            <executions>
                <execution>
                    <goals>
                        <goal>package</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <debugPort>5005</debugPort>
                <properties>
                    <swarm.debug.port>5005</swarm.debug.port>
                </properties>
            </configuration>
        </plugin>
    

    使用 mvn swarm 插件启动应用程序后,我正在连接远程调试器。
    祝你好运!

    编辑(2019.05.31): 我当前在 pom.xml 中的调试设置如下:

    <plugin>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>wildfly-swarm-plugin</artifactId>
        <version>${version.wildfly.swarm}</version>
        <executions>
            <execution>
                <goals>
                    <goal>package</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <jvmArguments>
                <jvmArgument>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArgument>
            </jvmArguments>
        </configuration>
    </plugin>
    

    【讨论】:

    • 当然!由于我使用 IntelliJ 作为 IDE,我将针对我当前的设置进行解释。上面的配置在我的pom文件中。我正在使用mvn wildfly-swarm:run 启动项目然后在某些时候,如下所述:issues.jboss.org/browse/THORN-1321 在终端中您可以看到:Listening for transport dt_socket at address: 5005 这是您启动远程调试器的位置:jetbrains.com/help/idea/… 并将其附加到 localhost ,使用端口 5005。启动远程调试器后,项目将继续加载。
    • 欢迎要求进一步澄清,请指定我应该详细说明的部分。 ^.^
    猜你喜欢
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2016-07-09
    相关资源
    最近更新 更多