dha*_*jay 5 debugging java-ee weblogic-10.x
我正在使用WebLogic 10.3和Java EE应用程序.谁能告诉我如何调试这个应用程序?
ggb*_*667 10
我认为其他答案有些错误.对于Windows,如果设置一个名为debugFlagtrue 的环境变量或在solaris/unix中设置相同的操作
debugFlag=true
export debugFlag
DEBUG_PORT=8453
export DEBUG_PORT
Run Code Online (Sandbox Code Playgroud)
,然后setDomainEnv.sh或setDomainEnv.cmd将被调用以通过其他脚本启动WLS.他们寻找debugFlag和DEBUG_PORT,只要未设置"生产"标志,它将从脚本中获取正确的参数以进行调试(-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava.compiler=NONE).
你不应该抄写这些脚本.它将使部署和维护变得困难,setDomainEnv脚本的整个目的是在整个集群和整个环境中使用和维护正确的默认值.我承认,他们的记录很少.
请注意,如果您使用的是Oracle weblogic maven插件,则目标wls:deploy或wls:start-server 将在启动时选择这些环境设置,因为它们会调用引擎下的命令,然后再调用它们setDomainEnv.
截至目前,如果你正在使用eclipse并设置了一个Oracle WebLogicServer,那么当你发出一个maven插件时它不会将它连接到调试模式mvn:deploy,你可以在调试模式下重启它(愚蠢),或者创建一个'运行==> Debug ==> DebugConfigurations ==> RemoteJavaApplication',连接类型为"standard(socket attach)",主机为"localhost"(或远程服务器)和端口(默认为"8453") ).然后你可以做Run ==> Debug Configurations ==> Local Server Attach.
对我来说,这工作:
在文件夹WEBLOGIC_HOME\user_projects\domains\my_domain\bin中
有一个文件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
)
Run Code Online (Sandbox Code Playgroud)
我只是将调试行放在if子句之外:
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...
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
)
Run Code Online (Sandbox Code Playgroud)
完成这些设置后,您可以在端口8453上进行调试
该端口也在此文件中配置,您也可以更改它:
if "%DEBUG_PORT%"=="" (
set DEBUG_PORT=8453
)
Run Code Online (Sandbox Code Playgroud)
停止服务器,运行脚本,启动服务器.
现在您的weblogic服务器已设置为进行调试.
| 归档时间: |
|
| 查看次数: |
45780 次 |
| 最近记录: |