ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题:
1、打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '仿宋' is not available to the JVM. See the Javadoc for more details...错误。
这个问题是之前以为是Linux环境未安装相应字体导致,但在Linux上安装相应字体后,仍然报错。
最初的解决方案是:将所有在ireport中Font Name设置为【仿宋】的字段全部变成【SansSerif】,不报错了,可以显示,但是布局会发生错位等问题。
查了网上很多资料,最终解决办法参考了:http://lgclf.blog.163.com/blog/static/38445222201241532558903/
我的具体做法是:
从网上下载一个simfang.ttf,在ireprot中,工具--》选项--》Fonts--》Install Font,选择下载下来的字体,默认下一步完成安装即可。
然后将所涉及到的字段,Font Name 属性全部改成【仿宋_GB2312】,PDF的相关属性,如下图配置
,不要勾选,且Pdf Encoding一定要设置成Identity-H (Unicode with horizontal writing)这个属性。
之后将安装的【仿宋_GB2312】字体导出来,工具-》选项--》Font--》选中【仿宋_GB2312】--》Export as extension,将导出的包可命名为【jasper-fonts-3.0.jar】。将该包加入到项目的classPath中,和项目一并发布。
这样就可以再Linux服务器上正常显示中文了。
2、还有一个问题是由于Linux服务器上的Mysql未设置编码格式,导致用Sql语句查询出来的固定写死的中文会出现【?】的乱码情况,解决办法是:
找到Linux服务器上Mysql的安装目录下,找到my.cnf配置文件,在[mysqld]下添加 character-set-server=utf8 ,重新启动mysql服务,即可解决中文出现问好乱码的问题。
ireport部署到Linux服务器上遇到的问题解决的更多相关文章
- springboot 定时任务部署至linux服务器上后会执行两次问题
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- 案例 (一)如何把python项目部署到linux服务器上
一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...
- springboot打成Jar包后部署至Linux服务器上
下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目 ...
- windows 安装 jenkins 自动化构建部署至linux服务器上
一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...
- openfire源码修改后如何打包部署到linux服务器上
原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...
- 简单将Springboot项目部署到linux服务器上
1.使用springboot的jar包方式 直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到 jar包 3.将jar包放到linux的任意文件夹下(此项目是之前的kafk ...
- Java高级架构师(一)第30节:把应用部署到Linux服务器上
随机推荐
- ThreadLocal使用
ThreadLocal提供了一种访问某个变量的特殊方式:访问到的变量属于当前线程,即保证每个线程的变量不一样,而同一个线程在任何地方拿到的变量都是一致的,这就是所谓的线程隔离. 如果要使用Thread ...
- [ECharts] - ECharts使用中国地图
格式1: https://www.cnblogs.com/luna666/p/9007263.html (非官方) <!DOCTYPE html> <html lang=" ...
- String、StringBuffer 的使用 ,两个面试问题
1>统计不同类型字符个数 public static void main(String[] args) { //案例:统计不同类型字符个数 String password = "abZ ...
- maven web项目生成WebContent或WebRoot目录
本文为博主原创,转载请注明出处: 新建maven web工程时,自动生成的文件结构目录如下: 这个是maven web自动生成的目录结构,我想让其生成如java web工程的WebRoot 或WebC ...
- 【转载】常用 Java 静态代码分析工具的分析与比较
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...
- 良品铺子:“新零售”先锋的IT必经之路
良品铺子:“新零售”先锋的IT必经之路 云计算 大数据 CIO班 CIO 互联网+ 物联网 电子政务 2017-12-29 09:25:34 来源:互联网抢沙发 摘要:2017年被称为“新零售”元年 ...
- 浅谈循环中setTimeout执行顺序问题
浅谈循环中setTimeout执行顺序问题 (下面有见解一二) 期望:开始输出一个0,然后每隔一秒依次输出1,2,3,4. for (var i = 0; i < 5; i++) { setTi ...
- React native中的组建通知通信:
有这么一个需求,在B页面pop()回到A页面,需要A页面执行刷新,那么我们可以采用以下方法: 1:在A页面Push到B页面中,加上一个A页面中的刷新函数做为参数,然后在B页面中在pop()函数封装后通 ...
- phantomjs 下载
http://phantomjs.org/download.html
- wxss与rpx
WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式. WXSS 用来决定 WXML 的组件应该怎么显示. 为了适应广大的前端开发者,WXSS 具有 CSS ...