1、首先需要将war包里边自带的tools. jar 移除, 用压缩工具打开smartbi .war ,注意不是解压 ,然后找到 \smartbi\WEB-INF\lib \ tools.jar ,进行删除。
2、通过weblogic控制台卸载smartbi应用,然后再重新将这个删除了tool s . jar 的smartbi .war 包部署到weblogic上。
3、如果删除了war包上的tool s . jar 包后重新部署后,验证下在weblogic加载的jdk下的tool s.jar 包能否被正常调用 ( 一般jdk的tool s .jar包是在JDK的lib目录下,这里是放到了JDK的bin目录 ) :
重启后,直接进入【系统监控】--》【类查找】: sun.tools.attach.LinuxAttachProvider
然后再点击【线程】看是否可以正常打印:
如果可以,就不需要进行下边步骤了。下次更新包的时候,记得删除掉war包里边的tool s.jar 重新部署即可。
如果还是不行,那就按照以下步骤继续修改 。
4、找到weblogic的启动文件
startWebLogic.sh
,记得备份。然后对这个文件如下部分进行修改,
修改部分如下,红色字体部署就是指定J DK 引用的 tool s .jar 路径:
echo "starting weblogic with Java version:"
${JAVA_HOME}/bin/java ${JAVA_VM} -version
CLASSPATH="${CLASSPATH}:/home/jdk1.8.0_144/bin/tools.jar"
注意为了保证tools .jar 可以正常被调用,所以需要修改下tool s . jar 的权限:
然后保存,并重启weblogic,然后再重新进入系统监控看【类查找】能否找到这个指定的路径: sun.tools.attach.LinuxAttachProvider
以及验证【系统监控】--》【线程】能否正常打印,
如果可以正常找到tools .jar ,并且可以正常打印线程,说明成功指定jdk调用的tools .jar 包。