系统操作和维护
进入Java1centOS 6.5,编译openJDK。
在这个操作的时候,作者安装并配置了linux虚拟机三次。第一次踩坑。第二次踩了一些坑,尤其是2.9的坑,直接导致了我的第三次,不过最后还是成功了!这个博客特写,希望对你有帮助!
注意:请注意相关安装文件的版本号!否则有失败的风险!我已经把我用过的相关文档资源上传到51CTO了。下载地址在文末!
1.1linux环境准备
Linux环境准备:Oracle VMware virtualBox 11.0.0,安装CentOS 6.5。
(安装方法请参考在线资料)
CentOS是基于Red Hat Linux提供的免费源代码的企业级Linux发行版。
这个编译用的是64位OS,编译也是64位JDK,内存1G,硬盘20G。
实施流程参考
(阅读自述和README-builds.html)
README-builds.html包含详细的安装信息,所以你最好完整地阅读它。
最小化基本软件包的安装和安装(可选)
安装时使用最小安装。
[root @ localhost ~]# cat/etc/red hat-release
CentOS版本6.5(最终版)
[root@localhost~]# uname -m
x86_64
[root@localhost~]# uname -r
2.6.32-431.el6.x86_64
配置更新源
cd/etc/yum.repos.d/
curlhttp://mirrors.163.com/.帮助/CentOS6-Base-163.repo
目前,wget不可用。
#wgethttp://mirrors.163.com/。help/CentOS6-Base-163.repo
mvCentOS-base . repo CentOS-base . repo .巴克
mvCentOS6-Base-163
yum makecache
yum -ygroupinstall \\\'base\\\ '
yum -y安装工具
创建三个目录:
# mkdir/usr/tools/
# mkdir /usr/java/
# mkdir /usr/jdks/
上传文件工具:Xftp(默认)或安装lrzsz。
卸载linux自带的jdk。
安装完毕后,进入linux系统:
linux自带的jdk,
如果安装了OpenJDK,可以按如下方式卸载它:
rpm -qa | grepjava
rpm-enodepsjava-1 . 7 . 0-open JDK-1 . 7 . 0 . 45-2 . 4 . 3 . 3 . el6 . x86 _ 64
rpm-enodepsjava-1 . 6 . 0-open JDK-1 . 6 . 0 . 0-1 . 66 . 1 . 13 . 0 . el6 . x86 _ 64
注意:
rpm-exxxx//正常删除模式
rpm-enodespxxx//strong制删除模式。如果您使用上述命令删除其他相关文件,您可以使用此命令强制删除它们,这可能会导致意外错误和系统损坏。
1.3安装JDK1.6
以下是README-builds.html的中文原文:
自举JDK
所有OpenJDK构建都需要访问之前发布的JDK 6,这通常被称为引导JDK。JDK 6的二进制文件可以从Sun的JDK 6下载网站下载。出于构建性能的原因,让这个引导JDK在进行构建的机器的本地磁盘上可用是非常重要的。您应该始终设置ALT_BOOTDIR来指向引导JDK安装的位置,这是包含bin、lib和include的目录路径名。将bin目录放在PATH环境变量中也是一个好主意,尽管这不是必需的。
配置启动JDK。
《深入理解Java虚拟机》中的片段:
准备一个6u14以上版本的JDK(JDK 1.6以上版本),因为openJDK的一些组件(热点,JDK API,JAXWS,JAXP…….)都是用C写的,更多的代码是Java自己实现的,所以编译这些Java代码需要一个可用的JDK,官方称之为“自举JDK”。Bootstrp JDK必须是JDK6更新14或更高版本!
必须安装jdk1.6,因为在编译的过程中,需要依靠jdk1.6来初始化VM虚拟机,编译一些java文件!
特别说明:jdk和openJDK不一样,请在百度描述!
jdk1.6下载地址:http://down.51cto.com/data/2306446
将下载的jdk1.6上传到/usr/java/目录:
向用户添加可执行权限。
#chmod x jdk-6u45-linux-x64.bin或# chmod 755 JDK-6u 45-Linux-x64 . bin
#./jdk-6u45-linux-x64.bin
# ll
配置环境变量,然后测试:
# Java版本
[注意:如果安装JDK1.7或更高版本,在执行最后一次make操作时会出现错误:参见2.6]
1.4下载openJDK 1.71.4.1推荐下载open JDK的方法。
OpenJDK下载地址:http://www . Java . net/download/open JDK/JDK 7 u 6/promoted/b24/open JDK-7 u 6-FCS-src-b24-28 _ aug _ 2012 . zip。
使用Xftp插件上传下载的openJDK,并将其上传到/usr/jdk/
# unzip open JDK-7u 6-FCS-src-b24-28 _ aug _ 2012 . zip
再次删除原始文件:(不必删除备份)
【不建议安装openJDK1.7,请参考:2.1】
1.5编译openJDK相关的依赖包
请注意,您必须首先返回到根目录:
[root@openjdk usr]# cd /
1.5.1安装必备软件包:
yum -y安装alsa-lib-devel
yum -y安装杯-开发
yum -y安装libXi-devel
yum -y安装gccgcc-c
yum -y安装libX*
安装freetype
Freetype下载地址:http://sourceforge.net/projects/freetype/files/freetype2/
下载的freetype-2.5.5资源地址:http://down.51cto.com/data/2306445.
进入工具目录:
# cd /usr/tools/
【注意:安装freetype会出现版本编译错误!第一次安装Freetype-2.5.2,编译失败!见2.2。最终选择了Freetype2.5.5]。
1.5.2.1模式一:(不推荐,速度太慢)
安装freetype2.5.5版本2.5.5:
//下载地址可能会改变。请根据自己的需要填写路径和相关版本。
[root @ open JDK tools]# wget https://www . SourceForge . net/projects/freetype/files/freetype 2/2 . 5 . 5/freetype-2 . 5 . 5 . tar . gz
或者wget http://download . savannah . GNU . org/releases/freetype/freetype-2 . 5 . 5 . tar . gz
注意:可能会出现下载不到或者速度很慢的情况。推荐方法二!
错误报告:
塔尔-xvf freetype-2.5.5.tar.gz
cd freetype-2.5.5。/配置
制造
进行安装
成功!
或者:
Freetype也可以被yum安装:(没试过)
yum install gcc gcc-c freetype-develib 2-devel cairo-devel
1.5.2.2模式2
Freetype-2.5.5.tar.gz下载地址:http://sourceforge.net/projects/freetype/files/freetype2/
手动下载freetype2.5.5:
使用Xftp将文件上传到/usr/tools/目录:
解压:
# tarxvf freetype-2.5.5.tar.gz
# cd freetype-2.5.5
#./配置
#制造
#进行安装
安装ant
蚂蚁下载地址:http://archive.apache.org/dist/ant/binaries/
下载的apache-ant-1.9.6资源地址:http://down.51cto.com/data/2306443.
# CD/应用程序/工具/
同样的两种方式:
模式一:(下载速度有点慢)
# wget http://archive . Apache . org/dist/ant/binaries/Apache-ant-1 . 9 . 6-bin . zip
#解压缩apache-ant-1.9.6-bin.zip
模式2:
从官网下载ant源代码,然后用Xftp上传到linux系统:
#解压缩apache-ant-1.9.6-bin.zip或tarxvfapache-ant-1.9.6-bin.tar.gz
# ln-s/usr/tools/Apache-ant-1 . 9 . 6/bin/ant/usr/bin/ant
//lns为另一个位置的文件或目录建立同步链接。
链接之后,ant命令就可用了!
1.5.4检查上述配置:
1.6编译1.6.1设置1.6.1.1当局给出的环境变量配置:(不推荐)
注:相关参数未修改。
#设置语言
出口
导出ALT _ BOOTDIR=/usr/lib/JVM/JDK 1 . 7 . 0/
#允许自动下载依赖包
导出ALLOW_DOWNLOADS=true
#使用预编译头文件,没有它编译会比较慢。
export USE _ PRECOMPILED _ HEADER=true
#编译什么
export BUILD_LANGTOOLS=true
导出BUILD_JAXP=true
export BUILD_JAXWS=true
导出BUILD_CORBA=true
导出BUILD_HOSTPOT=true
导出BUILD_JDK=true
#要编译的版本
export SKIP_DEBUG_BUILD=false
export SKIP _ fast debug _ BUILD=true
导出DEBUG_NAME=debug
#将其设置为FALSE可以避免javaws和浏览器Java插件等部分构建。
构建部署=假
#将其设置为false,将不会构建安装包。因为安装包里有一些奇怪的依赖关系。
#但即使你不构建它,你已经有了一个完整的JDK形象,所以你仍然不需要构建它。
BUILD_INSTALL=false
#存储编译结果
导出ALT _ output dir=/home/lzl/open JDK/build
取消设置类路径
取消设置JAVA_HOME
make 21 | teeALT _ output dir/build . log
1.6.1.2的实际配置
取消设置类路径
取消设置JAVA_HOME
出口
exportalt _ bootdir=/usr/Java/JDK 1 . 6 . 0 _ 45 #预装jdk7目录。
exportANT _ HOME=/usr/tools/Apache-ant-1。9 .6号蚂蚁安装目录
export alt _ FREETYPE _ HEADERS _ PATH=/usr/local/include/FREETYPE 2 # FREETYPE 2头文件安装目录
export alt _ FREETYPE _ LIB _ PATH=/usr/local/LIB # FREETYPE 2 LIB目录
export ARCH_DATA_MODEL=64 #64位
export SKIP_DEBUG_BUILD=false
export SKIP _ fast debug _ BUILD=true
导出调试名称=调试
# 输出路径
export ALT _ output dir=/usr/open JDK
配置完成,生效!
#source /etc/profile
【在配置环境变量的时候,遇到一个错误:参阅:2.3】
保持理智检查
检查环境是否配置好与编译jdk源码
#cd /usr/jdk/
# cd openjdk
# pwd
#保持理智
成功!
【第一次走到这一步的时候,犯了一个jdk和openJDK相同的概念错误,参阅:2.4】
制作编译
如果之前编译过,请先进行清洁:
#变得干净
#全部制作
最终:看到了成功!
【第一次全部制作由于jdk版本的问题,遇到了一个错误,参阅:2.5】
重复:清洁和全部制作
【第二次全部制作由于当前日期。属性时间配置文件的问题,遇到了一个错误,参阅:2.7和2.8】
重复:清洁和全部制作
【硬盘空间不足的错误,参阅:2.9】
1.7跑一下自己编译的虚拟机1.7.1方式一(推荐)
再查看编译成功后的JDK版本:
由于配置安装输出路径,进入配置的路径下:
进入usr/openjdk/bin目录,输入. Java版本
到这一步,编译openJDK算成功了!
【注意:如果在配置环境变量的时候,没有配置输出路径# export alt _ output dir=/usr/open JDK;默认会在openjdk目录下,创建一个建设目录存放输出数据,那就变成了:
进入openjdk/build/bin目录,输入. Java版本
】
1.7.2方式二
进入目录
(默认情况下:路径是:/打开JDK/build/Linux-amd64/hotspot/output dir/Linux _ amd64 _ compiler 2)
配置输出路径后的热点目录是:
[root @ openjdkhotspot]# CD/usr/open JDK/hotspot/
# cd输出目录/Linux _ amd64 _编译器2
# ll
下面有好几种优化级别的编译版本:
进入到产品目录中:
# cd产品/
# ll
这里要在环境。嘘配置下环境变量,指向共享库:(路径根据实际情况调整配置)
LD_LIBRARY_PATH=.$ { JAVA _ HOME }/JRE/lib/amd64/native _ threads:$ { JAVA _ HOME }/JRE/lib/amd64:/opt/open JDK room/open JDK/build/Linux-amd64/hotspot/output dir/Linux _ amd64 _ compiler 2/product
导出LD _库_路径
下面贴出我这个文件的完整内容:
#由/usr/JDK/打开JDK/热点/make/Linux/makefiles/构建树。制造生成
#:$ { JAVA _ HOME:=/usr/JAVA/JDK 1。6 .0 _ 45 }
JAVA _ HOME=/usr/open JDK/j2sdk-p _ w _ picpath #这个配置根据具体情况而定:默认是:/usr/打开JDK/build/Linux-amd64/j2sdk-p _ w _ picpath
类路径=。$ { JAVA _ HOME }/JRE/lib/rt . jar:$ { JAVA _ HOME }/JRE/lib/i18n。冲突
热点_构建_用户=热点中的根
导出JAVA _ HOME类路径hotspot _ BUILD _ USER
#添加
#后面的那段路径,默认配置是:/usr/打开JDK/build/Linux-amd64/hotspot/output dir/Linux _ amd64 _ compiler 2/product
LD_LIBRARY_PATH=.$ { JAVA _ HOME }/JRE/lib/amd64/native _ threads:$ { JAVA _ HOME }/JRE/lib/amd64:/usr/open JDK/hotspot/output dir/Linux _ amd64 _ compiler 2/product
导出LD _库_路径
下面执行:
#来源. env.sh
# cd.
回到上一级目录,进入:/usr/打开JDK/hotspot/output dir/Linux _ amd64 _ compiler 2/jvmg
# cd jvmg/
# ./test _伽马
运行成功!
1.8在NetBeans编译运行热点
参考博客:http://www。cn博客。com/zyx 1314/p/5638596。超文本标记语言
2踩的坑2.1安装openJDK1.7不推荐方法(前提是用centOS):
【乌班图虚拟机推荐使用】具体参考网址如下:
http://openjdk.java.net/install/index.html
$ sudo apt-getinstall打开JDK-7-JRE
原因:CentOS的软件安装工具不是容易得到是妙的
yum (YellowdogUpdater已修改)是一个集与查找,安装,更新和删除程序的Linux操作系统操作系统软件。
#好吃安装xxx所以…
2.1.1问题
没有可用的软件包openjdk-7-jre .错误:无所事事
【解决这个一连串问题的时候:请备份libperl.so(必须):如果后续报错:
:加载共享库时出错:/usr/lib 64/perl 5/CORE/lib perl . so:文件太短
此时,libperl.so会备份该文件,并且可以恢复它。该操作导致libperl.so为空,因此在还原之后。解决方案完成,相关组件可以正常使用。】
查看yum服务上的openjdk安装包:
[root @ open JDK Java]# yum list | grepopenjdk
更新百胜仓库:(慎用!不要只是yumupdate,有时候系统启动不了,因为会更新你的内核,停了之后进入系统,最好是yum clean all)。
[root@openjdk java]# yum -y更新
* * * * * * * * * * * * * * * * * * * * *(等待下一个小时。)实际操作中可以跳过这一步!
通过yum的查找参数列出与openjdk相关的包名:
[root @ open JDK Java]# yum search open JDK
安装yum存储库中存在的版本:
[root @ open JDK Java]# yum install Java-1 . 7 . 0-open JDK . x86 _ 64;
测试安装是否成功:
2.2安装freetype2.5.2(错误版本)
Freetype-2.5.2.tar.gz下载地址:http://sourceforge.net/projects/freetype/files/freetype2/
手动下载freetype2.5.2:
使用Xftp将文件上传到/usr/tools/目录:
解压:
tarxvf freetype-2.5.2.tar.gz
cd freetype-2.5.2。/配置
错误:解决方案:
输入:[root @ open JDK freetype-2 . 5 . 2]# CD builds/UNIX/
[root@openjdk unix]#。/配置
回到freetype-2.5.2目录并执行make:
激光唱片.
激光唱片.
制造
[root @ open JDK freetype-2 . 5 . 2]# make
config . MK:25:buildings/UNIX/UNIX-def . MK:没有这样的文件或目录。
config . MK:26:buildings/UNIX/UNIX-cc . MK:没有这样的文件或目录。
make:* * * *没有创建目标“buildings/unix/unix-cc.mk”的规则。停下来。
我在网上查了一下。没有相关的解决方案:
“我下载了几个版本的freeType,以源代码的形式安装(configure/make make install),但是从来都不行。"同病相怜。
检查完权限后,我将授予root权限再试一次:并手动创建这两个文件。
不能解决问题删除freetype相关信息。
改2.5.5版本解决问题!
#进行安装
2.3配置环境变量时出错
注意:第一次配置编译时安装了jdk1.7,可以忽略,与此错误无关!
错误报告:
概要文件配置文件肯定有问题:
导出的一般原因`=\ \ '不是有效的标识符
原因是在修改后的/etc/profile文件中
添加空格!
去掉空格,解决问题!
2.4make健全性错误
[错误:
make:* * * *没有使目标“健全性”停止的规则。
上述问题的根本原因是,项目更改路径或文件夹名称后,以前生成的。o.d文件重新编译时不会重新编译,导致这个问题。根本原因解决方案是删除编译后的obj文件夹。然后重新编译。
主要是因为我前期没有下载openjdk,而是直接用jdk编译的!原谅我的无知!再加工后:
成功!
2.5制造所有错误
错误:jdk1.7初始化VM时出错!
使用位于/usr/java/jdk1.7.0_75/jre的java运行时
虚拟机初始化期间出错
这个问题的解决方案:http://stack overflow . com/questions/26804355/cannot-compile-open JDK 7-source-code-on-centos 6-5。
下载安装Oracle JDK 1 . 6 . 0 _ 45,设置为ALT_BOOTDIR和ALT _ JDK _导入_路径,请勿使用OpenJDK1.7
解决方案:
更改JDK版本,重新配置JDK版本jdk1.6.0_45,并执行# make(参考2.6)。
2.6更改JDK版本
删除jdk1.7目录及其下的文件。
安装jdk1.6
将下载的jdk1.6上传到/usr/java/目录:
向用户添加可执行权限。
#chmod x jdk-6u45-linux-x64.bin或# chmod 755 JDK-6u 45-Linux-x64 . bin
#./jdk-6u45-linux-x64.bin
# ll
更改环境变量配置
保存并生效
#source /etc/profile
进入/usr/jdk/openjdk目录,执行1.5.3。
2.7错误:时间距离现在超过10年:1136059200000
解决方案参考博客:http://www.bubuko.com/infodetail-1306571.html
data.temp \\\\
./././src/share/classes/Java/util/currency data . properties
错误:时间距离现在超过10年:1136059200000
java.lang.RuntimeException:时间距离现在10年以上:1136059200000
修改CurrentDate.properties时间配置文件(包含2004年、2005年、2006年),只需将10年前的时间改为10年内即可(将所有时间格式改为2017年前10年内的年数)。
文件路径:/usr/JDK/open JDK/JDK/src/share/classes/Java/util/currency data . properties
下面介绍相应补丁的来源。
https://bugs.gentoo.org/show_bug.cgi?id=534118#c3
以下是对问题原因的描述。
https://bugs.gentoo.org/show_bug.cgi?id=534118#c7
如果不想仔细看,可以直接访问补丁网站:
http://hg . open JDK . Java . net/jdk7u/jdk7u/JDK/rev/74a 70385 c21d # l 11.1
CurrentDate.properties的文件地址为http://hg . open JDK . Java . net/jdk7u/jdk7u/JDK/file/74a 70385 c 21d/src/share/classes/Java/util/currency data . properties。
请先备份CurrentDate.properties文件!在linux系统上修改文件之前一定要养成备份文件的习惯!
复制该文件的内容,并在相应的CurrentDate.properties文件中覆盖它。
注意:千万不要盖。否则会出现新的问题:2.8
2.8错误:未列出有效的货币代码:欧元
data.temp \\\\
./././src/share/classes/Java/util/currency data . properties
错误:货币代码未列为有效:欧元
Java . lang . runtime异常:货币代码未列为有效:欧元
这是直接覆盖造成的错误,说明配置文件除了年份还有改动!
我自己修改的文件CurrencyData.properties:下载地址请参考文末!
本文参考博文:
http://www.linuxidc.com/Linux/2015-05/117248.htm
http://www.bubuko.com/infodetail-1306571.html
2.9硬盘空间不足
[错误:内存不足!解决方案:重新安装linux虚拟机。】当时的硬盘是8G!
3相关信息的下载地址
Apache-ant-1.9.6资源地址:http://down.51cto.com/data/2306443
资源地址:http://down.51cto.com/data/2306442
Freetype-2.5.5资源地址:http://down.51cto.com/data/2306445
JDK-6U45-Linux-x64。bin(jdk1.6版)资源地址:http://down.51cto.com/data/2306446,表示JDK 1.6因为单次数据上传只能50M,所以分为两部分。
解压时,解压到同一个文件夹即可。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。