`
truemylife
  • 浏览: 229953 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

centos6.3宕机后引发的jdk1.6及文件损坏问题

阅读更多

       网银互联萧山机房竞然出现断电的情况,整整一个白天才慢慢恢复基本正常,而托管商连UPS及发电机都没有准备充分,另外中国的建筑施工队随时随地乱挖乱掘,这样的天灾人祸看来也得有预案才好。来电后,基本上都自动重起服务,大部分处于正常状态。但留下了两个问题。

 1、jenkins自动发布系统坏掉了。在Maven compile时撼住,无法编译下去,直接使用mvn可以看到相关的错误日志。jenkins是我们的发布集成系统,没有它我们修改bug、及发布新功能就要用手动的模式了。

2、第1个问题解决后,出现java 2d使用Font相关功能坏掉,画出的宋体中文都变乱码了。

 

第1个问题解决办法:

找不到问题的头序,也不知道宕机哪个文件损坏了,决定试试升级jdk1.7;升级后第1个问题得到解决,这个问题是jdk1.6的一个bug,而宕机后刚好引发了这个bug。这个bug确实需要某种条件的触发才会出来,一旦解发后,就再也无法完成compile了,这个后来我在测试环境得到了重现。因为测试环境的jenkins也是jdk1.6版本,使用一直没有问题,我先把jenkins升级到jdk1.7,当然能正常使用,又把他降为jdk1.6,就出现一模一样的无法完成compile的情况了。之后就再也无法使用jdk1.6,除非升级,我的jdk1.6小版本号是jdk1.6.0_17。官方大致的说法是javac 时文件数不能太长。再此过程中,也试过只编译个别或数量较少的几个文件,确实可以通过,但整个工程的java文件编译时就撼住。升级到jdk1.7.0_40,问题得到解决。

 

第2个问题解决办法:

2.1、首先想到是不是中文编译及传参过程是不是出现乱码,经查不是这个问题。

2.2、会不会tomcat相关文件坏掉了,重新安装tomcat重起服务,问题依然存在。

2.3、又把jdk1.7降到jdk1.6有作用,但是现在编译的jenkins都升级到jdk1.7了,编译出来的class只能在用jdk1.7下才能运行。还是得想办法在jdk1.7下字体的问题。继续验证真的是jdk1.7的问题吗?在另外一台相同的操作系统下使用相同的jdk1.7和相同的tomcat运行,竞然没有问题,基本上能定位到是操作系统级的问题了。继续...

2.4、把/usr/share/fonts字体拷到/path/jdk1.7/jre/lib/fonts下,问题继续存在,期间有进一步调试应用,发现隶书是好的,宋体就会乱码。

2.5、放弃直接在/jre/lib/fonts下直接操作字体,恢复到jdk1.7初始安装带的几个字体,删除/usr/share/fonts下的所有字体,拷贝另外一台/usr/share/fonts。拷完之后,执行一下

fc-cahce -fv

再次重启tomcat,问题终于得到了解决。两点结论

一、jdk确实可以把字体加到/jre/lib/fonts下,因为我的jdk1.6加之前加的几个中文字体,因此它是好的。

二、如果/jre/lib/fonts没有找到字体,jdk会到/usr/share/fonts下继续加载。因此一般只要在这个目录扩展字体就可以了。但是宕机后这个目录下的文件出现损坏才出现这个问题。因此从另外一台拷贝过来字体文件后恢复正常。

 

0
1
分享到:
评论

相关推荐

    jdk1.6 Linux/Centos

    在Linux/CentOS操作系统环境下,安装和配置JDK 1.6对于开发和部署Java应用至关重要。下面将详细介绍在Linux/CentOS上安装和使用JDK 1.6的过程。 1. **下载JDK** - 由于描述中提到这个版本是从官网下载的,通常你...

    JDK1.6,Linux 64位

    jdk1.6.0_45,Linux 64位,Ubuntu 或者 CentOS 均可,亲测,解压即可用 (解压命令 tar -xf xxxxx.tar.gz), 配置环境变量 /etc/profile (非必要操作,因为 IDEA 可以直接选择 1.6 所在目录,无需添加环境变量) ...

    CentOS 6.3 网络配置

    在 CentOS 6.3 中,默认的网络配置文件位于 /etc/sysconfig/network-scripts/ 目录下,其中 ifcfg-eth0 文件是我们需要编辑的文件。使用 vim 编辑器打开该文件,首次打开时会出现默认的配置信息。我们需要修改两个...

    linux版本jdk1.6

    在centos,redhat等linux系统上安装的linux版本的jdk1.6

    CentOS 6.3 安装VMTools

    ### CentOS 6.3 中安装 VMTools 的详细步骤与注意事项 #### 一、VMTools简介 VMTools 是由 VMware 公司开发的一款增强工具包,主要用于改善 VMware 虚拟机内的性能,并加强宿主机与虚拟机之间的交互能力。通过安装 ...

    CentOS6.3

    【标题】"CentOS6.3" 在IT领域,CentOS是一个非常受欢迎的Linux发行版,主要用于服务器操作系统。CentOS 6.3是这个系列的一个重要版本,发布于2012年,提供了稳定和安全的环境,尤其适合企业级应用。这个版本基于...

    centos6.3版本的安装于配置

    主要是针对配置centos6.3版本的安装、python26的安装、python26模块的安装、nginx服务的安装、hg安装、解决乱码问题及ftp问题,centos6.3版本的安装与配置,安装过程中的配置,安装包选择

    安装CentOS6.3系统

    首先,需要从官方镜像站点下载CentOS 6.3的ISO镜像文件。根据提供的链接: - **下载地址**:http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/x86_64/ - **推荐下载文件**:CentOS-6.3-x86_64-bin-...

    Centos6.3 yum安装lamp架构

    Centos6.3 yum安装lamp架构

    centOS6.3镜像种子

    centOS6.3-DVD-IOS的下载种子.

    CentOS6.3安装nginx操作指南

    **CentOS 6.3 安装 Nginx 操作指南** 在 CentOS 6.3 上安装 Nginx 是一项常见的任务,Nginx 是一个高性能的 Web 和反向代理服务器,以其轻量级、高效的特性深受开发者和系统管理员的喜爱。本指南将详细解释如何在 ...

    CentOS6.3 Linux操作系统安装教程

    首先,您需要从官方网站或镜像站点下载CentOS 6.3的ISO映像文件。有两种选择:CD版和DVD版。CD版需要六张光盘,而DVD版包含所有必要的软件包,只需一张光盘。确保下载正确的体系结构版本,例如i386(32位)或x86_64...

    远程安装CentOS6.3

    远程安装 CentOS 6.3 并进行硬 RAID 配置 本文将指导用户如何远程安装 CentOS 6.3 操作系统,并在不同服务商的服务器上进行硬 RAID 配置。同时,本文还将详细介绍 CentOS 6.3 的安装过程和需求。 远程安装 CentOS ...

    centos6.3 httpd配置文件

    centos6.3 httpd配置文件

    2_Centos6.5安装jdk,里面有jdk1.6、jdk1.7、jdk1.8,均64位

    在本文中,我们将详细探讨如何在CentOS 6.5操作系统上安装JDK,包括1.6、1.7和1.8这三个64位版本。CentOS 6.5是一个基于Linux的服务器操作系统,广泛用于企业级应用,而Java Development Kit (JDK) 是开发和运行Java...

    jdk1.6rpm安装包(linux)

    在本案例中,我们处理的是一个针对x86_64架构的JDK 1.6版本,具体为`jdk-6u41-linux-x64-rpm.bin`文件,这是一个基于RPM(Red Hat Package Manager)的安装包,适用于Red Hat或CentOS等Linux发行版。然而,在尝试...

    CentOS 6.3安装(超级详细图解教程

    CentOS 6.3安装(超级详细图解教程) 相当齐全

    CentOS 6.3安装文档

    首先,你需要访问 CentOS 的官方网站或国内的开源镜像站点(如 163、搜狐等),获取 CentOS 6.3 的 ISO 镜像文件。以下是几个主要的 ISO 文件: 1. CentOS-6.3-i386-bin-DVD1.iso - 第一张包含基本系统组件的光盘。...

    centos6.3 yum安装软件包全集

    在Linux世界中,CentOS 6.3是一个广泛使用的操作系统版本,它基于RHEL(Red Hat Enterprise Linux)并提供了一个稳定、安全的服务器环境。在CentOS 6.3上,`yum`(Yellowdog Updater, Modified)是默认的包管理器,...

Global site tag (gtag.js) - Google Analytics