栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IDEA WebLogic远程调试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IDEA WebLogic远程调试

IDEA WebLogic远程调试

第一次接触这个,主要还是缺乏对应的知识花了好长时间,才调成功。好菜只能说。

先说说遇到被卡住的点吧。

调试的服务是WebLogic,我选择了Docker。

怎么访问虚拟机里的Docker容器

首先面临的是远程主机访问虚拟机里的Docker容器。

|----------------------------------------|
|                                        |
|   |--------------------------------|   |
|   |                                |   |
|   |    docker(CentOS) 172.18.0.2   |   |
|   |--------------------------------|   |
|                                        |
| Virtual Machine(CentOS) 192.168.27.143 |
|----------------------------------------|

         Windows 192.168.137.123
  1. sudo docker ps查看容器端口映射
└─$ sudo docker ps                                                                    
CONTAINER ID   [...]   PORTS                                                                                 
3029fb079497   [...]   0.0.0.0:5556->5556/tcp, :::5556->5556/tcp, 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp
  1. ifconfig查看虚拟机ip,在远程主机里使用[vm_ip]:[docker_prot]就能访问了。
如何正确开启远程调试

这里因为没有理解服务端口和远程调试端口的关系,在这上面就花掉了1天。

服务端口和远程调试端口是相互独立的,而我使用的image启动后的服务端口是7001,剩下一个映射出来的5556才应该被配置为远程调试端口。

使用环境是vulhub里的weak_password

  1. 首先查看一下docker-compose.yml,确认一下端口映射,然后启动环境。
cat docker-compose.yml 
#output
version: '2'
services:
 weblogic:
   image: vulhub/weblogic:10.3.6.0-2017
   volumes:
    - ./web:/root/Oracle/Middleware/user_projects/domains/base_domain/autodeploy
   ports:
    - "7001:7001"
    - "5556:5556" 
    
sudo docker-compose up -d
sudo docker ps
sudo docker exec -it [CONTAINER ID] /bin/bash

2.查找setDomain.sh文件。有很多个setDomain.sh,一开始不熟悉还改错了。

find / -name "setDomainEnv.sh"
#output
/root/Oracle/Middleware/wlserver_10.3/samples/domains/medrec/bin/setDomainEnv.sh
/root/Oracle/Middleware/wlserver_10.3/samples/domains/wl_server/bin/setDomainEnv.sh
/root/Oracle/Middleware/wlserver_10.3/samples/domains/medrec-spring/bin/setDomainEnv.sh
/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh #是这个
  1. 添加配置,添加远程调试端口配置。
vi /root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
#查找关键字JAVA_DEBUG
JAVA_DEBUG=""
export JAVA_DEBUG


if [ "${debugFlag}" = "true" ] ; then

在export JAVA_DEBUG和if [ "${debugFlag}" = "true" ] ; then之间添加

debugFlag="true"
DEBUG_PORT=5556
export debugFlag

4.重启Docker服务,再次连接容器。

sudo service docker restart

sudo docker-compose up -d

sudo docker exec -it [CONTAINER ID] /bin/bash
  1. 将容器打包并复制到虚拟机中。在Linux中打包和压缩是不同的概念,可以看Linux tar打包命令详解了解。然后复制到虚拟机中。
#打包
tar -zvcf modules.tar.gz modules/ # /root/Oracle/Middleware 
tar -zvcf wlserver_10.3.tar.gz wlserver_10.3/ # /root/Oracle/Middleware 

#复制到虚拟机
sudo docker cp [CONTAINER ID]:/root/Oracle/Middleware/modules.tar.gz ~/Desktop
sudo docker cp [CONTAINER ID]:/root/Oracle/Middleware/wlserver_10.3.tar.gz ~/Desktop
  1. 创建一个普通Java项目,然后把解压好的modules和wlserver_10.3导入到项目里的额外lib。

剩下的在IDEA中添加的步骤就参考第二种方式idea导包的三种方式(导入jar包/添加库/全局库)

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号