0x00 前言
最近刚好碰到了weblogic的场景,就想好好学习一下并总结。版本用的是12.2.1.3
0x01 weblogic是啥
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公司,最终BEA公司又并入Oracle公司。webserver是用来构建网站的必要软件,具有解析、发布网页等功能,它是用纯java开发的 。
0x02 安装weblogic
这一步就不多说了,网上有很多的教程,主要是需要注册一个oracle账号,信息填写尽量不要暴露个人信息就好。
遇到jre1.7.0_71不是有效的 JDK 的解决办法
把fmw12.1.3.0.0wls.jar放到%JAVAHOME%bin目录下,然后执行java -jar fmw12.1.3.0.0_wls.jar
遇到此时不应有 Javajdkxxxxxx的解决办法
https://blog.csdn.net/langdeyouhuoyouhuo/article/details/25964007
在linux下安装的时候碰到root用户不行
创建weblogic用户,使用weblogic用户来执行
在linux下安装的时候碰到oracle检查程序need 256 color
注销root用户,直接登录weblogic用户即可
查看补丁信息,到opatch目录下执行
opatch lsinventory
0x03 使用IDEA Debug
本地Debug
1、添加项目
用IDEA打开weblogic的项目,项目路径一般为
weblogicuser_projectsdomains
2、在IDEA里配置local debug的设置
3、在project structure里添加项目依赖
4、运行Debug按钮
然后会自动跳出项目首页。
一般国内的文章都只写到这就结束了,待笔者后面把远程debug也介绍完之后再说怎么玩怎么下断点^_^
远程Debug
1、什么是 Remote Debugging
Remote Debugging 是通过你正在调试的JVM和你选择的用于调试的工具之间使用TCP/IP通信来实现的。
JVM是java程序运行的平台,也叫java虚拟机,这是java之所以能够跨平台的关键,它负责执行java编译好的字节码文件。这里不是主要内容,就不详细展开了,感兴趣可以自行搜索相关概念。
2、配置远程Debug
注意这儿的配置需要选择remote那一项
3、打开远程debug
任何JVM都允许远程调试。这是通过在启动Java程序时添加一些标志来实现的。
在domain的bin目录下找setDomainEnv.cmd文件,搜索 “ if "%debugFlag%" ”,在这一行上面设置 “set debugFlag=true”。或者直接把local_debug设为true。
然后可以搜索“DEBUG_PORT”查看 默认端口号。
4、添加项目依赖
5、启动startweblogic.cmd
6、启动debug看到这句话就证明连接上了(安排上了)