环境信息

1
2
3
4
5
6
7
8
9
10
11
OSType:
CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64
DockerVersion:
19.03.8
Mirrors:
http://ovfftd6p.mirror.aliyuncs.com/
http://registry.docker-cn.com/
http://docker.mirrors.ustc.edu.cn/
http://hub-mirror.c.163.com/
WeblogicVersion:
12.2.1.3 - developer

部署 Weblogic

法 1:使用官方镜像

镜像地址:dockerhub
构建之后要运行 weblogic,需要使用官方提供的示例,参考上篇文章中间部分: 利用 Docker 手动构建 WebLogic 镜像

法 2:利用 Dockfile 手动构建

OracleDockerfile仓库地址:Github

使用方法参考 上篇文章 即可。

获取 Weblogic 相关源文件

在远程调试之前,需要先拿到 weblogic 源码或源文件(JAR 包)。从镜像中就可以取出来,方法如下:

确定 weblogic 容器运行

找到服务器主目录

使用命令 docker exec -it weblogic /bin/bash 进入到容器当中,一般情况下 Oracle 主目录存储在环境变量 ORACLE_HOME 当中,在这个目录下找到最大的那个文件夹一般就是我们要的东西。

我这里是在 /u01/oracle/wlserver,退出容器,使用命令docker cp weblogic:/u01/oracle/wlserver ./ 将其从容器中复制出来。

除了需要 weblogic 的东西之外,后面为了防止出错,建议直接使用容器里的 jdkjdk 主目录在环境变量 JAVA_HOME 中:

使用命令 docker cp weblogic:/usr/java/jdk-8 ./wlserver/ 将其拷贝到 wlserver 目录中,待会直接打包。

然后为了之后 IDEA 调试不缺依赖,我们在 wlserver 下创建一个 test 目录,使用命令 find ./wlserver -name *.jar -exec cp {} ./wlserver/test/ \; 将所有的 jar 文件复制到一起。

然后使用 zip 命令将目录打包:zip -r wlserver.zip ./wlserver,然后 sz wlserver.zip 将其从虚拟机中搞出来。

IDEA 调试配置

使用 IDEA 打开 wlserver 文件夹,结构如下:

然后在项目设置里,把 test 目录加载到库里:

最后,根据图的指示添加运行配置(Remote),IP 和端口填正确,如下图:

都弄好之后,点击调试按钮,出现以下日志信息说明成功:

下断点方法

成功之后,test目录下的所有 jar 包都可以展开,找到自己要调试的类,比如com.weblogic.iiop.jar!\weblogic\iiop\ConnectionManager.class

在左边行号旁边下断点即可,程序运行到这里会自动中断。

参考链接




root@kali ~# cat 重要声明
本博客所有原创文章,作者皆保留权利。转载必须包含本声明,保持文本完整,并以超链接形式注明出处【[Techliu](https://scriptboy.cn)】。查看和编写文章评论都需翻墙,为了更方便地获取文章信息,可订阅[RSS](https://feeds2.feedburner.com/techliu),如果您还没有一款喜爱的阅读器,不妨试试[Inoreader.](https://www.inoreader.com)。
root@kali ~# Thankyou!

⬆︎TOP