当代码和被部署的EAR部署在不同的远程计算机上时,如何在Eclipse和Jboss进行调试时如何启用热代码交换



我正在使用的Web应用程序非常大且模块化,当前的耳朵如它所存在,而在远程机器上不在远程机器上进行爆炸的形式机器和我无法进行热代码替换,因为架构很复杂,无法安装在同一台计算机上。启用这一点的任何建议都将非常有帮助...我们正在使用JBOSS 7.x和Java 1.8和Eclipse。

我通过在domain.xml

中设置以下方式在野生蝇/jboss中定期进行这种类型的调试
 <server-groups>
        <server-group name="s1" profile="s1">
            <jvm name="default">
                <heap size="3g" max-size="3g"/>
                <jvm-options>
                        <option value="-agentlib:jdwp=transport=dt_socket,address=remote_server_name_or_ip:8000,server=y,suspend=n"/>
...

这里的关键是 remote_server_name_or_ip:8000

请注意,您需要在端口号之前指定远程_server_name_or_ip。

没有这个野生蝇/JBoss,只会在Local主持那里聆听。您还可以指定 0.0.0.0 ,以便调试过程在所有可用的IP地址上听。

在Eclipse中,您只需要指定远程服务器IP地址和端口。

热交换是自动的,只要您不更改方法签名,等等。

此逻辑不仅限于JBoss或Wildfly。您可以使用此方法连接到在另一台计算机上运行的任何Java代码。

例如,请参阅我的答案,该答案说明了如何允许使用tomcat进行远程调试:

用eclipse远程调试tomcat

相关内容

最新更新