当前位置: 首页 > news >正文

统信UOS下启动图形界面应用工具monitor报JAVA相关错:An error has occurred. See the log file

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython

在这里插入图片描述

一、前言

在博文《基于飞腾2000CPU+浪潮电脑+统信UOS安装达梦数据库详解 https://blog.csdn.net/LaoYuanPython/article/details/143258863》中介绍了基于飞腾2000CPU+浪潮电脑+统信UOS安装达梦数据库的详细过程,并且安装完毕之后通过disql可以正常访问数据库,以为安装过程没什么问题,但今天培训上课时发现其实还是留坑了。

二、问题现象

今天培训上课时,启动dm数据库下tool目录的图形工具monitor报错:
在这里插入图片描述
查看对应的日志文件,显示日志内容如下:

dmdba@jwp:~/dmdbms/tool/workspace/configuration/monitor$ cat 1730293412876.log
!SESSION 2024-10-30 21:03:32.527 -----------------------------------------------
eclipse.buildId=M20110210-1200
java.version=21.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Framework arguments:  -product com.dameng.monitor.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -data /home/dmdba/dmdbms/tool/workspace/data/monitor -product com.dameng.monitor.product!ENTRY org.eclipse.osgi 4 0 2024-10-30 21:03:32.963
!MESSAGE error loading hook: org.eclipse.osgi.internal.baseadaptor.BaseHookConfigurator
!STACK 0
java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.net.URLClassLoader.addURL(java.net.URL) accessible: module java.base does not "opens java.net" to unnamed module @445b84c0at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391)at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367)at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315)at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:203)at java.base/java.lang.reflect.Method.setAccessible(Method.java:197)at org.eclipse.osgi.internal.baseadaptor.BaseStorage.findMethod(BaseStorage.java:167)at org.eclipse.osgi.internal.baseadaptor.BaseStorage.findMethod(BaseStorage.java:174)at org.eclipse.osgi.internal.baseadaptor.BaseStorage.findAddURLMethod(BaseStorage.java:158)at org.eclipse.osgi.internal.baseadaptor.BaseStorage.<init>(BaseStorage.java:128)at org.eclipse.osgi.internal.baseadaptor.BaseHookConfigurator.addHooks(BaseHookConfigurator.java:24)at org.eclipse.osgi.baseadaptor.HookRegistry.loadConfigurators(HookRegistry.java:178)at org.eclipse.osgi.baseadaptor.HookRegistry.initialize(HookRegistry.java:100)at org.eclipse.osgi.baseadaptor.BaseAdaptor.<init>(BaseAdaptor.java:89)at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)at org.eclipse.core.runtime.adaptor.EclipseStarter.createAdaptor(EclipseStarter.java:752)at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:282)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)at java.base/java.lang.reflect.Method.invoke(Method.java:580)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)at org.eclipse.equinox.launcher.Main.run(Main.java:1408)at org.eclipse.equinox.launcher.Main.main(Main.java:1384)!ENTRY org.eclipse.osgi 4 0 2024-10-30 21:03:33.057
!MESSAGE Startup error
!STACK 1
java.lang.NullPointerException: Cannot invoke "org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(org.eclipse.osgi.baseadaptor.BaseAdaptor)" because "this.storage" is nullat org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:114)at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:185)at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:157)at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:286)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)at java.base/java.lang.reflect.Method.invoke(Method.java:580)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)at org.eclipse.equinox.launcher.Main.run(Main.java:1408)at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
dmdba@jwp:~/dmdbms/tool/workspace/configuration/monitor$ 

经咨询达梦专家,判断为JDK版本的问题。

三、处理步骤

为了解决问题,进行如下处理:

1、卸载单独安装的JJDK

对于博文《基于飞腾2000CPU+浪潮电脑+统信UOS安装达梦数据库详解 https://blog.csdn.net/LaoYuanPython/article/details/143258863》介绍步骤中单独安装的JDK通过仓库进行卸载;

2、重新设置JAVA_HOME环境变量

将登录shell中设置的JAVA_HOME设置为指向达梦数据库安装目录下自带的JDK,在笔者机器上设置为:

export JAVA_HOME=/home/dmdba/dmdbms/jdk

登录shell中有关脚本配置如下图:
在这里插入图片描述

3、修改monitor

monitor其实是一个shell文件,里面设置了环境变量JAVA_HOME环境变量,导致登录shell的JAVA_HOME环境变量被覆盖,为此注释掉该 设置即可以,如图:
在这里插入图片描述

此时重新执行monitor,正常启动,如图:
在这里插入图片描述

四、小结

本文介绍了统信UOS下启动图形界面应用工具monitor由于JDK版本适配导致的报错:An error has occurred.的解决办法,避免该问题的解决办法是不单独安装JDK,而是要直接使用达梦数据库自带的JDK,并注意最终环境变量设置要指向达梦数据库自带JDK。

写博不易,敬请支持

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

更多关于统信操作系统的介绍的内容请参考专栏《国产信创之光》的其他文章。

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░

http://www.mrgr.cn/news/62231.html

相关文章:

  • Windows Knowledge
  • LeetCode 时间复杂度和空间复杂度粗略计算
  • nuxt3中使用element-plus(集成element-plus)
  • ByConity BSP 解锁数据仓库新未来
  • 拼多多纠偏,能否实现买卖平权?
  • ShardingSphere(分库分表)
  • 《高频电子线路》 —— 高频谐振功放
  • RK3568平台开发系列讲解(I2C篇)I2C 上拉电阻
  • 统信UOS下启动图形界面应用工具manager报错:No protocol specified的解决办法
  • 不使用三方软件,win系统下禁止单个应用联网能力的详细操作教程
  • C语言实现堆排序
  • Redis 线程控制 问题
  • C语言实现选择排序
  • 主成分分析(PCA)在医学数据分析中的神奇力量
  • 当AI取代真相,大模型如何一步步诱骗了人类的文明?
  • ubuntu增加swap交换空间
  • 车载中控系统的UI自动化测试实践
  • VB.NET中如何利用Windows Forms进行桌面应用开发
  • HCIP-HarmonyOS Application Developer V1.0 笔记(二)
  • 代码编辑器 | Visual Studio Code v1.95.0
  • C语言:动态内存管理【上】
  • leetcode hot100【LeetCode 118. 杨辉三角】java实现
  • 二十二、MySQL 8.0 主从复制原理分析与实战
  • Kylin Server V10 下编译安装 Python
  • npm ERR! path /Users/*/Desktop/task_work_all/node_modules/canvas
  • 【动态规划之斐波那契数列模型】——累加递推型动态规划