用户工具

站点工具


doc:j:java_environment

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
doc:j:java_environment [2010/12/22 18:25]
HiLoveS [通过 ports 来安装 Diablo JDK]
doc:j:java_environment [2010/12/22 18:26] (当前版本)
HiLoveS [通过 ports 来安装 Diablo JDK]
行 1: 行 1:
 +====== 配置Java环境 ======
  
 +===== 简述 =====
 +Java最早于1998年引入 FreeBSD。
 +
 +通常我们使用的 JDK 是来自 Sun 的 JDK。由于授权的原因,目前JDK需要手工下载之后才能安装。
 +
 +在FreeBSD平台上,最新版本的JRE/​JDK为:Diablo JRE/JDK 1.5.0-7。
 +
 +在FreeBSD中你可以使用多种方式来安装JDK:
 +
 +  * 使用Linux模拟环境来运行For Linux版本的Sun/​IBM JDK(以下简称Linux JDK)
 +
 +  * 使用freebsdfoundation提供的binaries package来安装JDK(以下简称Binaries JDK)
 +
 +  * 使用ports来安装JDK(以下简称Ports JDK)
 +\\
 +这里你可以自己选择使用哪种方式:
 +
 +|方式|优点|缺点|
 +|Linux JDK|可以作为排除问题时的参考|它不是FreeBSD本地代码,需要安装Linux二进制兼容环境如Fedora;有时Linux JDK会有一些bug|
 +|Binaries JDK ("​Diablo JDK"​)|下载就可以安装,不需要编译器,安装速度很快|没有编译的快感,也不能设定编译时的一些参数;有时Diablo JDK也会有一些bug,由于认证需求无法及时更新|
 +|Native JDK|版本最新,将来升级会简单,在编译时能有自己定义的能力|需要很久的时间和比较多的磁盘空间,也许你应该考虑在晚上睡觉前开始这个工作|
 +
 +一般而言,由于已经有了 Diablo JDK,现在已经不再推荐在 FreeBSD 上透过 Linux 仿真来使用 Linux JDK 了。
 +
 +以下就JDK在FreeBSD上的安装方法进行分别的说明,希望你能找到适合你的方法安装一个好用的FreeBSD JDK。
 +
 +
 +===== 通过 ports 来安装 Diablo JDK =====
 +
 +这是一个非常快速的方法,因为除去下载的时间,你只需要两分钟就完成了一个可以使用的JDK环境。如果使用 FreeBSD 6.x,则推荐使用这种方法。
 +
 +__注意__:Diablo JDK 在 FreeBSD 7.x 上运行时 __可能__ 会有一些问题,这时,可以用它作为boostrap JDK来编译自己的native JDK。
 +
 +通常安装 Diablo JDK 时,应使用 ports 来进行安装。这主要是因为几个原因:
 +
 +  * 有时,需要对 Diablo JDK 进行小幅度的调整,例如更新时区数据等等。如果只是下载 FreeBSD 基金会提供的 package 直接安装,则没有这方面的好处。
 +  * ports会帮你搞定 Diablo JDK 所需的全部依赖关系。
 +  * ports安装几乎和直接pkg_add一样快。
 +
 +首先,我们需要同步 ports tree;随后,进入 ports/​java/​diablo-jdk15,并执行:
 +
 +<​code>​make checksum</​code>​
 +
 +这时,ports系统会检查当前的 distfiles 目录(通常是 /​usr/​ports/​distfiles)中是否已经有了所需的文件。如果没有的话,ports会提示你到指定的地点下载相关的文件并放到 /​usr/​ports/​distfiles 目录中。
 +
 +首先你需要知道[[http://​www.freebsdfoundation.org/​downloads/​java.shtml|FreeBSDFoundation的Java下载页面]],这里提供了现在可以使用的多个JDK的版本,在每一个版本上我们都可以得到Packages和Tarballs两种形式的版本。使用 ports 方式安装时,应下载 tarball 格式的版本。 package 格式的版本的可执行文件,与tarball格式中的可执行文件是完全一样的。ports会判断你使用的架构名称,并告诉你需要下载的文件名字。但是自FreeBSD 8.0之后,由于授权问题,已经不提供已编译好的二进制版本的针对FreeBSD 8的JRE/​JDK下载,若要在FreeBSD 8.0以上版本中使用Java,必须自行编译。
 +
 +确认无误之后,请再次执行:
 +
 +<​code>​make checksum</​code>​
 +
 +以便让 ports 系统确认文件的完整性。如果没有问题,我们就可以安装它了:
 +
 +<​code>​make install clean</​code>​
 +
 +这样,ports系统会自动完成所需的全部操作。
 +
 +
 +===== 使用Ports来安装Native JDK =====
 +
 +我们常说的 Diablo JDK,实际上是 FreeBSD 基金会根据 native JDK 来进行联编,并获得了 Sun 认证的版本。与其他二进制形式的包,如 Linux JDK 类似,作为预编译的版本,尽管其拥有节省时间、便于使用的优点,但是在发生一些小bug时,这些版本未必会及时跟进更新。
 +
 +与此相反,FreeBSD本身的 native JDK 开发团队也在活跃地维护着一个以源代码编译方式的 port,这个 port 会经常跟进 BSD Java Porting Project 的最新 patchset。由于目前 Sun JDK 编译时要求已经有一个可用的 JDK 版本,因此你需要首先安装一个 JDK,这个 JDK 可以是 native JDK,也可以是 Diablo JDK 或 Linux JDK。接下来,就可以开始编译了。
 +
 +首先[[doc:​p:​ports_update|同步 port]],然后到 /​usr/​ports/​java/​jdk15 中执行 make install clean。在这个过程开始时,ports系统会告诉你去两个地方分别下载 Sun 提供的源代码、源代码 binary、Mozilla 头文件和时区定义更新,以及 EyesBeyond 提供的 BSD Java Patchset。整个过程需要大约2GB的剩余磁盘空间,并需要大量的内存。
 +
 +
 +==== 制作 package ====
 +
 +由于 Sun 授权的限制,我们不能对外直接发布 native JDK 的 package。但是对于企业用户而言,如果有很多机器都需要安装 native JDK,一台一台地编译是一件十分耗时,而且很不环保(浪费电,并促进全球变暖)的事情。想要制作 package,可以在 /​etc/​make.conf 中加入:
 +
 +<​code>​
 +FORCE_PACKAGE=yes
 +</​code>​
 +
 +然后就可以使用make package,或 portupgrade -p 来制作 package了。
/data/vhosts/wiki-data/pages/doc/j/java_environment.txt · 最后更改: 2010/12/22 18:26 由 HiLoveS