在CentOS上配置Java远程调试参数,可以按照以下步骤进行:
你需要编辑你的Java应用程序的启动脚本,通常是/etc/init.d/your_app_name或者你自定义的启动脚本。
/etc/init.d/your_app_name#!/bin/bash
# chkconfig: 2345 99 01
# description: Your Java Application
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
APP_HOME=/path/to/your/app
APP_NAME=your_app_name.jar
start() {
echo "Starting $APP_NAME..."
nohup $JAVA_HOME/bin/java -agentlib:jdwp=transport=dt_socket,address=*:8000,server=y,suspend=n -jar $APP_HOME/$APP_NAME > /dev/null 2>&1 &
}
stop() {
echo "Stopping $APP_NAME..."
pkill -f $APP_HOME/$APP_NAME
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
确保你的防火墙允许远程调试端口(例如8000)的流量。
firewall-cmd 设置防火墙规则sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
使用以下命令启动你的应用程序:
sudo service your_app_name start
你可以使用任何支持JDWP的IDE(如IntelliJ IDEA、Eclipse)来连接远程调试器。
Run -> Edit Configurations...。+ 添加一个新的 Remote 配置。Name,例如 Remote Debug。Host 为你的CentOS服务器的IP地址。Port 为8000。Apply 和 OK。在IntelliJ IDEA中,选择你刚刚创建的远程调试配置,然后点击 Debug 按钮。你的应用程序将会在断点处暂停,你可以开始调试了。
nohup 和 & 来确保应用程序在后台运行并且不会因为终端关闭而停止。通过以上步骤,你应该能够在CentOS上成功配置Java远程调试参数。