java绘图在ubuntu报错

news2024/11/25 6:30:17

把JRT网站部署到ubuntu桌面系统上,开始没测试绘图部分功能,只试了连PostGreSql部分正常。后面试了生成位图部分发现报错。

报下面错误:
(ColorModel.java:220)\n\tat java.desktop/java.awt.image.BufferedImage.(BufferedImage.java:286)\n\tat facade.ashx.ashJRTPrintDrawView.QryPrintDrawImgs(ashJRTPrintDrawView.java:166)\n\t… 29 more\n"}" alt=“报告” style=“margin-bottom:10px;”/>

“message”:"Exception java.lang.UnsatisfiedLinkError: /share/jdk-17.0.9/lib/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

查资料说是缺少绘图包,安装之后还是不行。后面查到是因为后台运行没有绘图设备所以绘图报错,web最好禁用绘图设备,也就是设置java运行参数为-Djava.awt.headless=true模式。

什么是headless模式?

Headless是指服务器的

无显示设备状态

(缺少显示器、键盘、鼠标)

例:应用集群、数据库集群等,它们一般没有显示器、键盘、鼠标,都是通过网络远程操作。

D. AWT与headless模式

AWT是Java构建GUI应用的标准API接口,且Java自带2套实现类,一套供标准模式使用(显示设备、驱动可用),另一套供headless模式使用(显示设备、驱动不可用);

Button、Checkbox、Choice、Dialog、FileDialog、Label、List、Menu、MenuBar、MenuItem、PopupMenu、Scrollbar、ScrollPane、TextArea、TextField、Window

注:这些组件,只能运行在“标准模式”下,Headless模式中使用会报错;

Canvas、Fonts、Colors、Images

注:这些组件不仅在“标准模式”下可用,它们的Headless版本也可以在Headless模式下正常使用;

通常B/S型Web应用运行于无显示设备、驱动的服务器端环境中,但是有使用AWT绘图接口的可能(例如:用Images、Fonts接口生成图片验证码);所以给Tomcat、Weblogic附加参数-Djava.awt.headless=true,强制使用Headless版本的AWT实现类,就能避免图形环境缺失所导致的程序出错;

给tomcat的各个启动地方都加上即可,这样就不用担心无显示环境绘图包缺少X环境了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1600515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式之状态模式(上)

状态模式 1)概述 1.定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 2.作用 状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。 3.方案 状态模式将一个对象的状态从该对象中分离出来&…

RabbitMQ 各种通信模式的Python实现

一、RabbitMQ 原理 1、基本原理 RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。支持多种客户端,如:Python、Java、Javascript、C#、C/C,Go等,支持AJ…

【ENSP】华为三层交换机配置AAA认证,开启telnet服务

配置步骤 1.给交换机配置ip地址,以便登陆 2.配置AAA,用户名,密码,服务类型,用户权限 3.配置接入设备的数量 4.开启telnet服务 LSW2交换机配置 u t m #关闭提示 sys …

微信小程序scroll-view组件

一、介绍 当一个容器内容很多时,若容器无法显示完整内容,则可通过滚动操作查看所有内容 在微信小程序中scroll-view组件可以实现滚动效果 二、scroll-view组件的属性值 (1)scroll-x 【boolean型】 允许横向滚动条,默…

Python也可以合并和拆分PDF,批量高效!

PDF是最方便的文档格式,可以在任何设备原样且无损的打开,但因为PDF不可编辑,所以很难去拆分合并。 知乎上也有人问,如何对PDF进行合并和拆分? 看很多回答推荐了各种PDF编辑器或者网站,确实方法比较多。 …

HBase的数据模型与架构

官方文档:Apache HBase – Apache HBase™ Homehttps://hbase.apache.org/ 一、HBase概述 1.概述 HBase的技术源自Google的BigTable论文,HBase建立在Hadoop之上,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于…

ThreadLocal和ThreadLocalHashMap

请直接百度详细介绍 -------------------------------------------------------------------------------------------------------------------------------- 1.ThreadLocalMap是Thread类里的一个局部变量 2.ThreadLocalMap是ThreadLocal类里的一个静态内部类, 3.ThreadL…

Backend - DRF 序列化(django-rest-framework)

目录 一、restful 、django-rest-framework 、swagger 三者的关系 (一)restful API(REST API) 1. rest 2. restful 3. api 4. restfulAPI (二)django-rest-framework(简称DRF&#xff09…

分类算法——模型选择与调优(三)

交叉验证 交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成4份,其中 一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集。即得到4组模型的 结果,取…

进程间通信--共享内存

1.共享内存介绍 共享内存为多个进程之间共享和传递数据提供了一种有效的方式。共享内存是先在物 理内存上申请一块空间,多个进程可以将其映射到自己的虚拟地址空间中。 所有进 程都可以访问共享内存中的地址,就好像它们是由 malloc 分配的一样。如果某个进 程向共享内存写入了…

随着深度学习的兴起,浅层机器学习没有用武之地了吗?

深度学习的兴起确实在许多领域取得了显著的成功,尤其是那些涉及大量数据和复杂模式的识别任务,如图像识别、语音识别和自然语言处理等。然而,这并不意味着浅层机器学习(如支持向量机、决策树、朴素贝叶斯等)已经失去了…

Achronix FPGA增加对Bluespec提供的基于Linux的RISC-V软处理器的支持,以实现可扩展数据处理

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC 2024年4月——高性能FPGA芯片和嵌入式FPGA(eFPGA)硅知识产权(IP)领域的领先企业Achronix半导体公司,以及RISC-V工具和IP领域的行业领导者Blues…

Matlab分段微分方程组拟合【案例源码+视频教程】

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法,并提供所有案例完整源码;2.…

OpenHarmony开发实例:【新闻客户端】

介绍 本篇Codelab我们将教会大家如何构建一个简易的OpenHarmony新闻客户端(JS版本)。应用包含两级页面,分别是主页面和详情页面,两个页面都展示了丰富的UI组件,其中详情页的实现逻辑中还展示了如何通过调用相应接口&a…

【Java NIO】那NIO为什么速度快?

Java IO在工作中其实不常用到,更别提NIO了。但NIO却是高效操作I/O流的必备技能,如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术,NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃,但还是要慢慢消耗知识、学以致用哈…

百度智能云万源全新一代智能计算操作系统发布:引领AI新纪元,开启智能未来

随着科技的迅猛发展,人工智能(AI)逐渐渗透到我们生活的每个角落,为人类社会带来前所未有的变革。在这场科技革命的浪潮中,百度作为中国AI领域的领军企业,始终站在技术创新的前沿,不断引领行业发…

【架构-14】数据库性能优化方式

数据库出现性能瓶颈对外的表现为: 大量请求阻塞SQL操作变慢存储出现问题 为解决上述出现的问题,因此推出了一系列的数据库性能优化方式。 数据库性能优化是提高数据库系统性能和响应时间的关键任务。以下是一些常见的 数据库性能优化方式: …

在Qt中如何简单设计一个文件和图像浏览器

文本浏览器 设计一个文本浏览器程序,可以打开、显示 txt、html等文件。 1.在Qt Designer中设计一个菜单其中包含打开和退出选项: 2. 在 QMainWindow 构造函数中把 textBrower 设为主窗口的中心部件,这样整个窗口就成了包含 textBrower 的单文…

免费的 ChatGPT、GPTs、AI绘画(国内版)

🔥博客主页:白云如幻❤️感谢大家点赞👍收藏⭐评论✍️ ChatGPT3.5、GPT4.0、GPTs、AI绘画相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚…

Elasticsearch的使用教程

Elasticsearch简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行…