我希望在远程调试模式下从IDE连接到Weblogic。我添加了set JAVA_OPTIONS=-Xdebug -Xrunjdwp:transport=dt_socket,address=54840,suspend=n,server=y
到startWebLogic.cmd
。启动后,weblogic服务器打印出Listening for transport dt_socket at address: 54840
。但是当我尝试连接时,我收到一个错误:
Unable to open debugger port : java.net.ConnectException "Connection refused: connect"
我用Apache Tomcat检查了54840端口上的远程调试,一切都很好。请告诉我Weblogic有什么问题。
WebLogic Server版本:12.1.2.0.0开发模式。
答案 0 :(得分:0)
检查此添加消息的位置。在文件startWeblogic.cmd中注意到,
set DOMAIN_HOME=C:\Oracle\Middleware\Oracle_Home\user_projects\domains\ebilling_domain
for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi
call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*
如果您在上述内容之前添加此消息。该消息将被setDomainEnv.cmd中的相关代码覆盖。
if "%debugFlag%"=="true" (
set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava.compiler=NONE
set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole...
) else (
set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -da
)
我已成功连接远程服务器。
答案 1 :(得分:0)
尽管线程有点古老,但也许我仍然可以提供一些帮助。
似乎 weblogic 已准备好在调试模式下运行。我能够使用它设置以下环境变量:
Windows powershwell
$env:debugFlag = 'true'
Linux
export debugFlag=true
碰巧 weblogic 启动脚本已准备好使用此变量,并将端口 8453 设置为默认端口,以便您连接调试器(可能与任何 moddern IDE 一起使用)。
如果您仍然需要更改该默认端口,您可以使用另一个 env 变量(遵循上述 windows ad linux 模式):
DEBUG_PORT = 54840
这样您可能就不必弄乱 weblogic 脚本了。
我正在使用 weblogic 12c (12.1.3),按照这篇文章,它在我的情况下运行良好:https://www.linkconsulting.com/oracle/weblogic-remote-debugging-using-jdeveloper
问候!