我设法将我的“战争”应用程序转换为空心罐子。
我最大的问题是,即使遵循文档,仍然无法启用调试模式(我想要的端口是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>
答案 0 :(得分: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
。
答案 1 :(得分:1)
您可能需要调查:
第一个链接是相关的链接。如果您正在使用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>