我有几个使用Thorntail框架开发的微服务项目。我正在使用Eclipse编写代码。在过去,我所有的开发都是使用Wildfly应用服务器完成的,Eclipse使调试这些应用变得非常简单。Right Click->Debug As->Debug On Server。好了。现在我用的是Thorntail,我不太确定该怎么做。
在命令行中,我会使用以下命令启动我的Thorntail项目:
mvn thorntail:run -Dthorntail.useUberJar # Project 1
mvn thorntail:run -Dthorntail.useUberJar -Dthorntail.port.offset=1000 # Project 2这将使一切正常运行,并侦听端口8080和9080。但是,这些服务没有处于调试模式,并且我没有通过Eclipse启动这些服务。
我知道我可以Right Click->Debug As->Maven Build...,然后创建一个新的调试配置。我已经这样做了,我的目标与上面的mvn命令相对应。但是,当我这样做时,没有自动附加调试器,因此断点等不起作用。我确信我在某个地方遗漏了一个步骤,但这是我以前没有尝试过的功能,所以我迷路了。有什么建议吗?
发布于 2019-05-30 20:24:58
使用以下参数执行uberjar。确保在行中所有参数都在uberjar名称之前指定。
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=$PORT_NUMBER -jar $UBERJAR_FILENAME$PORT_NUMBER是您选择的未使用的端口号。请记住远程调试器配置的这个数字。
$UBERJAR_FILENAME是uberjar。
suspend=y确保JVM在启动应用程序之前暂停并等待远程调试器连接。
要使用Eclipse IDE进行远程调试,您必须打开Eclipse,打开目标应用程序的源代码,并通过指定目标主机和端口来创建调试配置("Remote Java Application")。在此之后,点击"Debug“按钮并继续进行远程调试。
https://stackoverflow.com/questions/56151419
复制相似问题