java awt linux_解决在linux下awt调用错误的问题

2023-11-14

在java中使用awt在服务器上处理图片的时候发现有错:

第一遍执行

500 Servlet Exception

java.lang.InternalError: Can't connect to X11 window server using ':0.0'

as the value of the DISPLAY variable.

at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)

at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:134)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:141)

at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)

at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1041)

at com.lodesoft.ipniii.club.tool.AlbumTool.createSmallThumb(AlbumTool.java:793)

at com.lodesoft.ipniii.club.test.action.UpdateAllPhotoAction.perform(UpdateAllPhotoAction.java:82)

at org.apache.struts.action.Action.execute(Action.java:420)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)

at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)

at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)

at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)

at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)

at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:262)

at com.caucho.server.port.TcpConnection.run(TcpConnection.java:315)

at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:353)

at com.caucho.util.ThreadPool.run(ThreadPool.java:302)

at java.lang.Thread.run(Thread.java:534)

--------------------------------------------------------------------------------

Resin-3.0.6 (built Tue, 20 Jan 2004 09:46:57 PST)

然后刷新这个页面

500 Servlet Exception

java.lang.NoClassDefFoundError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:141)

at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)

at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1041)

at com.lodesoft.ipniii.club.tool.AlbumTool.createSmallThumb(AlbumTool.java:793)

at com.lodesoft.ipniii.club.test.action.UpdateAllPhotoAction.perform(UpdateAllPhotoAction.java:82)

at org.apache.struts.action.Action.execute(Action.java:420)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)

at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)

at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)

at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)

at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)

at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:262)

at com.caucho.server.port.TcpConnection.run(TcpConnection.java:315)

at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:353)

at com.caucho.util.ThreadPool.run(ThreadPool.java:302)

at java.lang.Thread.run(Thread.java:534)

--------------------------------------------------------------------------------

Resin-3.0.6 (built Tue, 20 Jan 2004 09:46:57 PST)

我们的服务器上没有安装xwindows,但是安装了XFree86的相关包。web server用的是 Resin 306 ,现在找到了解决方法。

1:安装XFree86-Xvfb-4.3.0-2.i386.rpm。如果什么XFree86的相关包都没有,那就要弄来装一装了。起码的libs是要有的。

2:使用两个命令:

------------------------------------

Xvfb :0 -screen 0 800x600x16 &                               启动Xwindows的虚拟设备

export DISPLAY=localhost:0.0                                  配置本地环境

------------------------------------

运行顺序先后没有太大的关系。

注意的是 Xvfb :0 -screen 0 中的两个0的参数和后面 DISPLAY=localhost:0.0 中的两个0是对应的。Xvfb实现的应该是后台虚拟拟图形界面环境。

3:可以把这两个命令做成启动就运行的脚本,也可以在启动Resin的时候调用起来,我用的后者

修改resin ./bin 目录下的httpd.sh  在JAVA_HOME 配置项前加入

Xvfb :0 -screen 0 800x600x16 &

export DISPLAY=localhost:0.0

4:其实没有什么第四,因为这样就可以啦。

200408220127 :今天来增加一条,如果安装liunx的时候没有选择安装任何xwindows的组件,那么从linux安装盘上去取Xvfb的包安装是不会成功的,因为还需要一大堆依赖的包,而我就因为找不到这些包,不能加快进度而加班到昨天早上4点多。庆幸的是我找到了一个好办法去解决(不然可能要拖到5,6点才能结束),我在XFree86的官方站点上 http://XFree86.org 找到了一个Xvfb的tag下载,下来后解压出来就可以用了,哈哈哈哈。要注意的是要去找版本对应的tag包,比如RedHat 9对应的是XFree86 4.3.0 的版本,就去它的FTP下载相应版本的包,取下来后解压出bin目录,运行其中Xvfb就可以,记得加参数哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java awt linux_解决在linux下awt调用错误的问题 的相关文章

  • Spring @Async:SpringBoot 自定义线程池,修改springboot的默认线程池

    1 自定义线程池 1 1 修改application properties task pool corePoolSize 20 task pool maxPoolSize 40 task pool keepAliveSeconds 300
  • AD17铺铜时颜色偏暗

    AD17铺铜是颜色很暗 刚开始接触AD17时 使用起来很不熟练 铺铜是遇到了这个问题 正确的样子是如图一所示 偏暗的样子是如图二所示 图一 图二 如何解决这个问题呢 只需要简单一步就可以 将工具栏上的Altium transparent 2
  • MATLAB 学习资料整理

    MATLAB学习资料集合 https www ilovematlab cn thread 265500 1 1 html MATLAB官网文档 https ww2 mathworks cn help matlab index html MA
  • VBA第二种方法实现对比

    Sub check Click Dim ws1 As Worksheet ws2 As Worksheet Dim r1 As Range r2 As Range Dim cell1 As Range cell2 As Range Dim
  • opencv只能用python2不能用python3

    问题如图 感觉可以修改某个环境变量来调整 但是我不会 只好用笨办法了 下载了python3支持的opencv版本
  • 426 将二叉搜索树转化为排序的双向链表

    题目描述 将一个 二叉搜索树 就地转化为一个 已排序的双向循环链表 对于双向循环列表 你可以将左右孩子指针作为双向循环链表的前驱和后继指针 第一个节点的前驱是最后一个节点 最后一个节点的后继是第一个节点 特别地 我们希望可以 就地 完成转换
  • windows下写入文本换行符\r\n修改为linux下换行符\n

    最近一段时间经常使用python向文本写入数据 但是windows下换行符默认为 r n 而linux下换行符为 n 写入的文本要在linux下调用 这就很坑人了 代码前行的路上怎么能被小小石头绊倒 于是乎搜索了一通 发现这个事情仅需要几行
  • Latex 带圈数字

    我们写作大论文等中文文档 一般都会调用ctex类库 可能描述不准确 它一般已经调用了fontspec 带圈的数字0 20 在unicode字符集中已经有了 但是只有一部分字体包含了 比如 Cambria 所以我们使用带圈文字的时候 直接调用
  • tcym4

    aHR0cHM6Ly93d3cudmVyeWJpbi5jb20vPzQzZjZiYThlYTU5NzcxZGEjeVhtbjN5em43YVVPLzlKYUVrK3JWdWE3SXA2ck9HWHlock5BbkFzL2hyaz0 复制下方
  • CTFHub-WEB-文件上传

    目录 1 无限制 2 前端验证 编辑 3 htaccess 4 MIME验证 5 文件头检查 6 00截断 7 双写后缀 1 无限制 进入靶场环境中看到有上传文件的选项 本关写明无限制所以我们直接上传php后门文件 上传成功后用蚁剑连接 这
  • JVM深入理解内部类

    原文链接 https blog csdn net Hacker ZhiDian article details 82193100 原文链接 https blog csdn net coder what article details 893
  • echarts分裂地图与线性动画

    前言 如果没有geoJSON数据 可以去 datav官网 导出 定义数据结构 const pointsDataArr name 鄂州 展示的名称 routeName region 黄冈 lable 黄冈线 value 10 路线 value
  • FLAGS标志寄存器

    标志寄存器 Flags Register FR 又称程序状态字 Program Status Word PSW 这是一个存放条件标志 控制标志寄存器 主要用于反映处理器的状态和运算结果的某些特征及控制指令的执行 CF Carry Flag
  • Python实现SSA智能麻雀搜索算法优化XGBoost回归模型(XGBRegressor算法)项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 视频讲解 如需数据 代码 文档 视频讲解可以直接到文章最后获取 1 项目背景 麻雀搜索算法 Sparrow Search Algorithm SSA 是一种新型的群智能优化算法 在202
  • 数字化转型时代—人人必学的7项商业分析思维

    月説小飞象交流会 人生总有不期而遇的温暖和生生不息的希望 内部交流 29期 数字化转型时代 人人必学的7项商业分析思维 data analysis 分享人 Sophia 数字化时代 数据连接一切 数据驱动一切 数据重塑一切 数据是企业数字化
  • 【计算机网络 -- 期末复习】

    例题讲解 IP地址 必考知识点 子网掩码 子网划分 第一栗 子网划分题目的答案一般不唯一 我们主要采用下方的写法 第二栗 路由跳转 数据传输 栗1 栗2 CSMA CD数据传输 路由转发 2 比特率与波特率转换 四相位表示 四种变化来表示四
  • Mybatis课堂笔记-狂神说

    Mybatis 环境 JDK1 8 Mysql 5 7 maven 3 8 4 IDEA 回顾 JDBC Mysql Java基础 Maven Junit 课堂源码及笔记 https gitee com mileschen02 mybati
  • python 基本操作注意事项

    一 缩进与空格 二 编写规范 1 注释 2 符合规范性 命名要见名知意 3 不要用关键字命名 三 PEP8编码规范 1 收藏 https www python org dev peps pep 0008 2 可读性 可维护性
  • 图的基本知识点及遍历代码

    图 一 引出 1 七桥问题 欧拉回路判定规则 如果通奇数桥的地方多于两个 则不存在欧拉回路 如果只有两个地方通奇数桥 可以从这两个地方之一出发 找到欧拉回路 如果没有一个地方是通奇数桥的 则无论从哪里出发 都能找到欧拉回路 二 基本概念 1

随机推荐

  • 串口printf和USB虚拟串口printf

    C语言中printf是个功能强大的函数 可以打印各种格式的数据 在单片机程序调试时 也经常需要将数据打印出来查看 之前介绍过通过Jlink的RTT功能进行打印 Jlink使用技巧之RTT和J Scope 今天将介绍通过串口和USB虚拟串口的
  • 从YOLOv1到YOLOv3,目标检测的进化之路

    本文来自 CSDN 网站 作者 EasonApp 作者专栏 http dwz cn 7ZGrif YOLOv1 这是继 RCNN fast RCNN 和 faster RCNN之后 Ross Girshick 针对 DL 目标检测速度问题提
  • 微众银行面试题

    1 切糖果 时间限制 3000MS 内存限制 589824KB 题目描述 小美想要买糖果店的一根长长的糖果 糖果店顾客可以从中选取一个位置然后老板会在那切断 糖果前端到那个切断位置的糖果就会出售给这位顾客 这个糖果其实不同段有着不同的口味
  • Safari无痕浏览影响localStorage

    最近项目中遇到一个问题 有一个登录页 点击登录后 公司两个土豪金都不能正常跳转 但是登录请求已经发送到服务器了 其他人的手机都正常 项目又要急着上线 内心这个抓狂啊 最后静下心来 终于把问题给解决了 解决过程 由于服务器有接收到客户端的aj
  • emc re 整改 超标_CE认证EMC测试不合格,如何整改 ;

    首先我们来从EMC测试项目构成说起 EMC主要包含两大项 EMI 干扰 和EMS 产品抗干扰和敏感度 当然这两大项中又包括许多小项目 EMI主要测试项 RE 产品辐射 发射 CE 产品传导干扰 Harmonic 谐波 Ficker 闪烁 E
  • Java--垃圾回收机制

    垃圾回收算法思想 引用计数 标记清除 先标记 然后再整理 会存在效率低下的问题 存在内存碎片 进而提前触发GC 复制拷贝 将内存区域分为两块 一块存储对象 如果对象满了 那么将存活的对象移动到另外的一块区域中 新生代中 空间利用率底 标记整
  • win11系统之安装MySQL8.0版本

    win11系统之安装MySQL8 0版本 一 本次实践介绍 1 1 MySQL简介 1 2MySQL8 0特点 1 2 环境介绍 二 下载MySQL软件包 2 1 MySQL官网 2 2 下载MySQL安装包 三 环境配置工作 3 1 解压
  • en结尾的单词_en后缀形容词——动词

    形容词 动词 名词 直接加en Bright brighten brightness Broad broaden broadness Dark darken darkness Deaf deafen deafness Deep deepen
  • 【正点原子STM32连载】第五十七章 USB读卡器(Slave)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1 实验平台 正点原子MiniPro H750开发板 2 平台购买地址 https detail tmall com item htm id 677017430560 3 全套实验源码 手册 视频下载地址 http www openedv
  • java文档注释

    1 3注释 1 为什么会有注释 如果一个工程的代码量较大 代码过于繁杂 可能会在编写的过程中忘记了某行或者某段的用途 可以通过注释帮助编写者回忆起代码的用处 也可以让后来者理解明白编写者写代码的用途 方法或者其他用途 2 注释的特点 不参与
  • 微服务负载均衡器Ribbon实战

    1 什么是Ribbon 目前主流的负载均衡方式有两种 集中式负载均衡 在客户端和服务端中间建立一个独立的代理来做负载均衡 硬件比如F5 软件比如Nginx 根据客户自己的情况做负载均衡 Ribbon 就属于这一种 Spring Cloud
  • 互联网行业潜规则:宁花11k招新人,不花9k留老人

    最近一位互联网从业者发出这样的感慨 有些互联网公司 宁愿花11k招新人 也不愿意花9k留住老员工 为什么 对此 许多网友给出了答案 有的网友说 因为老员工的能量已经耗尽 再也不能为公司创造更高的价值 有的网友说 因为只要给一个老员工涨工资
  • Vmware Workstation Pro16安装

    Vmware Workstation Pro16安装 一 右击打开安装包 二 下一步 三 勾选 我接收许可协议中的条款 点击 下一步 四 修改安装路径 五 两个复选框都取消勾选 六 下一步 七 安装 八 许可证 九 完成
  • 线性表的查找算法-C语言

    文章目录 一 实验目的 二 实验内容 三 实验工具 四 实验代码 五 实验结果 六 总结与思考 一 实验目的 了解查找的基本概念 理解顺序查找 折半查找和分块查找的思想 掌握折半查找过程的判定树构造方法 实现线性表的查找算法 二 实验内容
  • mybatis中的if-else语句的使用解答

    1 mybatis中if else语句的语法 使用模板样例
  • 什么是沙箱技术?与容器有什么区别

    沙箱和容器的 隔离 机制 首先 什么是沙箱 它本身就是一种线下生活现象的虚拟化 现实世界里 小孩子们在沙地 沙滩上用木板隔离出一个方盒子 在盒子里堆砌 创造各种东西 城堡 房屋 山丘 这就是一个沙箱 它有两个根本特点 一 它有边界 通过木板
  • aix oracle 11 补丁包,oracle 11g for aix6.1安装基本步骤(含升级11.1.0.7)

    oracle 11g for aix6 1安装基本步骤 含升级11 1 0 7 1 检查物理内存 swap空间以及tmp空间 usr sbin lsattr E l sys0 a realmem 检查内存至少1G usr sbin lsps
  • anaconda创建python环境

    1 前提 系统中安装了anaconda沙箱环境 下载地址 anaconda官网 conda V 检验是否安装以及当前conda的版本 2 conda常用的命令 1 conda list 查看安装了哪些包 2 conda env list 或
  • bcd码和十进制码之间的转换

    BCD码转十进制 static u8 BCDToInt u8 value unsigned char temp 0 temp value gt gt 4 10 temp value 0x0F return temp 十进制转BCD码 sta
  • java awt linux_解决在linux下awt调用错误的问题

    在java中使用awt在服务器上处理图片的时候发现有错 第一遍执行 500 Servlet Exception java lang InternalError Can t connect to X11 window server using