ADF & Working On Linux

近期一直在做一个使用 Oracle ADF 的项目,使用11g版本,已经有同事进行了几个月的基础研究。总体来说是一套不错的J2EE扩展,但是现阶段BUG太多,开发的时候总是被BUG所阻碍(对技术不够熟悉也是原因之一吐舌)。这方面只能通过加深研究来解决。(忍耐ing……)

但是唯一让我无法忍受的是JDeveloper 11g + weblogic的内存占用。Oracle ADF使用Weblogic 10作为服务器,启动就要占250MB左右的物理内存,而且Java虚拟机还有类缓存的bug,启动时必须将内存设置大一些,否则Weblogic不一会儿就会PermGen Space。JDeveloper启动也要占去350MB左右的物理内存。运行一会甚至能到达600MB~700MB,导致我的BB上只要把这几个工具开开了,硬盘灯就没灭过,一直在进行物理内存/虚拟内存的交互……我还要开着UltraEdit, PL/SQL Developer, firefox,经常导致机器直接卡死……(难怪我们老大要用8GB内存的本本,我才可怜的2GB而已……还是单核的CPU)。

正在换电脑(没米……)与重装Windows(治标不治本……)之间徘徊之时,忽然想起去年配置的一个Ubuntu 8.10还在移动硬盘里躺着(去年另一个项目写Linux Shell的时候,碰上8.10发布,下下来玩玩的热烈的笑脸)。所以,迁移工作到Linux下吧。

首先考察Linux作为工作环境的可用性,结果如下:
1. JDeveloper 11g使用Java编写,本身就提供for Linux版本(Free)。
2. PL/SQL Developer没有Linux版本,但可以使用Oracle的SQL Developer或者第三方的TORA代替(暂时使用SQL Developer(Free))
3. UlterEdit没有Linux版本的,但Gnome 的gedit本身就带语法加亮,另外安装meld代替ultra compare(Free)
4. Ipmsg有Linux版本,下载tar.gz编译即可(Free)
5. Firefox有Linux版本,公司的HR系统使用Opera填写(BS下公司的HR系统不支持Firefox)(Free)
6. SecureCRT & SecureFX,开玩笑,Linux自己就有命令行的ssh和ftp客户端了微笑

OK,Linux用来工作完全可行。

原来的Ubuntu 8.10是用Wubi安装的,懒得再移植,就直接用了。
JDeveloper 11g执行下载的bin文件,将JDeveloper安装在目标目录,然后运行 $目标目录$/Middleware/jdeveloper/jdev/bin/jdev即可(自带JDK),可以在/usr/bin中创建名为jdeveloper的文件,编写脚本
#!/bin/bash
$目标目录$/Middleware/jdeveloper/jdev/bin/jdev
即可通过命令行直接运行。

SQL Developer有deb包下载,安装后配置一下是用JDK的目录(指向JDeveloper 11g下的JDK目录),修改//opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf,增加如下语句
SetJavaHome $JDeveloper安装目录$/Middleware/jdk160_05/

ipmsg可以在官网下载,然后configure, make, make install即可.

其他软件可以直接通过Ubuntu的添加/删除进行安装。

至此,环境配置完毕,重新配置JDeveloper,从SVN上迁出我们所作项目的最新版本,尝试运行之,Everything is working well !

将Nvidia的驱动装上,把特效打开,把要用的工具都打开(Weblogic的内存配置为192/512,看你还PermGen Space),然后看系统监视器,交换区使用了148.0KB,内存使用了1352MB大笑