Ubuntu10.04将OpenJDK换成SunJDK

今天做几个报表工具的对比,Java界比较出名的报表就属JasperReport了吧。这个项目还有个iReport,评价很高。于是就打算了解一下它。

Ubuntu里做这件事相当容易,下载,解压缩,直接运行bin/ireport,就看到iReport的界面了。

我总喜欢在开始一个标题之后写些其它的内容。ireport的运行結果与我想的非常类似。数据源、报表定义~~~blah, blah…可是运行速度就太差强人意了。跟我接解过的几个使用Delphi开发的报表,比如ReportBuilder, FreeReport, ReportMachine之类的速度没有办法比。虽然ReportBuilder在建立报表的时候对数据源的操作那遍历的叫一个爽啊。有没有办法快速一些呢?能想到的一个方法是将OpenJDK换成SunJDK。这就是故事的由来。

10.04缺省的JDK是OpenJDK。虽然我们可以从apt-get里获得sun-java6-jdk之类的名字,但是在我们真正sudo apt-get install sun-java6-jdk时,是会可耻的杯具的。源已经不再包含它。源在哪里?

来自:Ubuntu Wiki的内容告诉我们,它已经被移到合作方的repository里去了。

这段话的原文是:

Sun Java moved to the Partner repository

For Ubuntu 10.04 LTS, the sun-java6 packages have been dropped from the Multiverse section of the Ubuntu archive. It is recommended that you use openjdk-6 instead.

If you can not switch from the proprietary Sun JDK/JRE to OpenJDK, you can install sun-java6 packages from the Canonical Partner Repository. You can configure your system to use this repository via command-line:

[code language=”bash”]add-apt-repository “deb http://archive.canonical.com/ lucid partner”[/code]
接下来的事情就好办了:
[code language=”bash”]
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin
sudo update-java-alternatives -s java-6-sun
[/code]
当然,最后一句话也可以使用下面的话来完成:
[code language=”bash”]
update-alternatives –config java
[/code]
apt-get命令行其实功能很强了。比如自动提示。而且bash里输入了错误命令还会提示软件包的名字。但是在这些包的管理上还是需要一些自动的内容。比如:

  • sun-java6-jdk这个东西的源可以自己提示出来
  • 或者显示的提醒用户是否增加此源进行安装
  • 安装好之后也可以提醒冲突的存在,自动调用update-alternatives提醒用户是否切换之类。
  • 如果可以,在Synaptics中加入软件的源会更好些。

换掉以后还是出了一点毛病,Eclipse里的xml编辑和pyedit字体变成方块了,好在Preferences->General->Appearance->Colors and Fonts->Text Font里修改完就好了。

顺便说一句,使用Eclipse这样的IDE没有双显示器很别扭,虽然我的显示器很大,但还是想看看别的地方的。比如命令行或者页面执行結果。

参考文章:

1. Ubuntu 10.04 換成 sun-java-jdk 的步驟
2. How to Install Sun Java on Ubuntu 10.04 LTS
3. LucidLynx/ReleaseNotes
4. ubuntu 10.04安装sun的jdk
5. Ubuntu 10.04下的搭建SUN JAVA开发环境
6.

打赏

《Ubuntu10.04将OpenJDK换成SunJDK》有2个想法

  1. 换了以后确实出了些小问题,比如说Eclipse的字体显示成方块。性能没有做靠谱的测试。因为偶尔才用用Eclipse的IDE,IDE被安装了太多插件之后,这两个JDK都慢无比。另外一个问题是现在要做的内容是对比RoR/Django,有时间再测试了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注