Ubuntu 8.10/8.04下搭建javaMe 开发环境
-
安装JDK
-
下载和安装JDK
方法一: 从新立德软件包管理器选择下载,自动安装(推荐)
Ubuntu 8.10和8.04均提供了较新的jdk版本下载
Ubuntu 8.10: java-1.5.0-sun-1.5.0.16和 java-6-sun-1.6.0.10
Ubuntu 8.04: java-1.5.0-sun-1.5.0.16和java-6-sun-1.6.0.07
这种安装方式缺点是:对JDK具体版本的可选择性不是很灵活,你若是想安装最新的JDK版本,或由于特殊的原因必须安装特定的JDK版本,可能就比较费劲了。不过已经可以满足一般用户的需要了。
方法二: 直接从sun公司站点上download ,手动安装
参考:
这种方式显然有它的好处: 可自由选择JDK版本,能进行灵活的配置。其实JDK的配置是很简单的:能让系统找到JDK所在的目录(JAVA_HOME),以便调用其目录中bin目录下的相关命令脚本。
于windows底下不一样的是,我们下载到的不是”*.exe”文件而是:“*.bin软件包”(*指的是实际安装程序的名字或部分名字,下同)。
扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。
安装.bin文件,在终端(Terminal)中执行:
cd /usr/local/lib
sudo cp /home/*.bin ./
sudo chmod +x *.bin
sudo ./*.bin
执行最后一步命令后便在当前目录下多了一个“jdk1.*.0_**“的目录,里面是jdk-*-linux-i386.bin解压后JDK的全部文件;
另外由于Ununtu本身带了gij的JVM实现,所以当你在Terminal输入: "java -version"时会显示:
java version "1.5.0"
gij (GNU libgcj) version 4.2.*
的相关信息。也就是系统中有两个JVM实现,而且gij JVM还被其它的Ubuntu工具或软件使用;所以这种情况下就得使用 Debian提供的“update-alternatives“工具来完成程序多版本实现的选择了:
sudo update-alternatives --display java
发现系统只列举了gij JVM;这是因为jdk5/6是我们通过手动解压安装的。
现在输入下面的两行命令:
sudo update-alternatives --install /usr/bin/java java /usr/local/lib/jdk1.*.0_**/bin/java 60
sudo update-alternatives --install /usr/bin/java java /usr/bin/gij-4.2 40
注意1,2行尾的60,40是优先级;现在把JDK6设为了首选;
输入: ls -l /etc/alternatives/java 发现JVM已经指向了jdk6的解压目录:
lrwxrwxrwx 1 root root 35 2008-01-25 17:55 /etc/alternatives/java -> /usr/local/lib/jdk1.6.0_04/bin/java
cd /usr/bin
sudo cp java java.bak
sudo ln -sf /etc/alternatives/java .
现在再执行:
java -version
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
若想变更JVM实现,输入:
sudo update-alternatives --config java
进行配置即可。
-
设置jdk的环境变量
方法1:编辑profile
在终端中输入:
sudo gedit /etc/profile
然后,在/etc/profile中加入如下的内容:
(注意:在文章未尾umask 022之前)
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.10 (具体路径设置,请根据自己的JDK实际安装目录来定,下同)
export JRE_HOME=/usr/lib/jvm/java-6-sun-1.6.0.10/jre
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib:$JRE_HOME/lib
保存,退出。
方法2:编辑environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
CLASSPATH=./:/usr/lib/jvm/java-6-sun-1.6.0.10 /lib
JAVA_HOME=/usr/lib/jvm/jjava-6-sun-1.6.0.10
保存关闭.
最后, 在终端输入:
source /etc/profile
使配置环境生效(或者注销在重新登陆也可).
到此, JDK安装和环境就设置好了,可以输入java -version或java或javac,还可以自己写个Helloworld测试下.
-----------------------------------------------
-
安装 WTK
-
第一步:到sun公司的网页上 Download Sun Java Wireless Toolkit for CLDC 2.5.2 ML for Linux
下面是我下载版本的链接:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter
同样也是下载到*.bin软件包
-
第二步:在Ubuntu下安装*.bin程序
1).先把*.bin从所在的文件夹拷到/usr/local下面,进入*.bin文件所在的目录,否则要加文件地址。
2).执行命令:sudo chmod +x *.bin
给当前用户增加对.bin文件运行的权限:
3).执行命令:sudo ./*.bin
进行安装,会出现有一些安装的信息,需要确认的。都是简单的英文,一般按默认选项就好了,就不一一列举了。
终端命令:
sudo cp /home/zhu/download/开发工具/sun_java_wireless_toolkit-2_5_2-ml-linux.bin /usr/local/ (把下载的文件拷贝到相应的目录底下)
sudo chmod +x /usr/local/sun_java_wireless_toolkit-2_5_2-ml-linux.bin (增加运行权限)
cd /usr/local/
sudo ./sun_java_wireless_toolkit-2_5_2-ml-linux.bin (安装)
sudo rm sun_java_wireless_toolkit-2_5_2-ml-linux.bin (删除安装文件)
还要注意的是:如果发现在安装后,运行WTK出现假死的问题。则需要重装来指定一下jdk的路径。
也就所在安装信息的如下选项中:
A suitable Java interpreter was detected
0) Use /usr/X11R6/bin/
1) Specify a path to a Java interpreter directory.
2) Cancel this installation.
Select a choice [0-2]: 0
Please enter a directory into which you would like to install the Sun Java(TM) Wireless Toolkit, 2.5.2 for CLDC.
[ default is /usr/local/WTK2.5.2 ]: /usr/lib/jvm/java-6-sun-1.6.0.10/bin/(具体路径,请按照自身的实际情况设置)
即可。
当然,如果不想重装,可以采用临时的解决方案:修改ktoolbar 和emulator
在终端中输入:
cd /usr/local/WTK2.5.2/bin
sudo gedit ktoolbar
把javapathtowtk项修改为:
javapathtowtk=/usr/lib/jvm/java-6-sun-1.6.0.10/bin/
同理:
sudo gedit emulator
把javapathtowtk项修改为:
javapathtowtk=/usr/lib/jvm/java-6-sun-1.6.0.10/bin/
-----------------------------------------------
-
安装 Elipse
-
第一步:下载
方法1: 从新立德软件包管理器选择下载,自动安装
提供版本为:
Eclipse SDK
Version: 3.2.2
Build id: M20070212-1330 (Ubuntu version: 3.2.2-5ubuntu2)
如果对版本要求不高的,可以采用这种安装方式,这样比较傻瓜,可以免除设置可执行文件和添系统菜单。
方法2:eclise.org下载,手动安装
下载到类似的文件:eclipse-java-europa-fall2-linux-gtk.tar.gz.
首先,解压文件
sudo mkdir /usr/local/dev
sudo mkdir /usr/src/dev
sudo cp sudo cp eclipse-SDK-3.4.1-linux-gtk.tar.gz /usr/src/dev/
cd /usr/src/dev
sudo tar zxvf eclipse-SDK-3.4.1-linux-gtk.tar.gz -C /usr/local/dev
其次,建立一个Eclipse可执行文件
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
sudoedit /usr/bin/eclipse
内容如下:
#!/bin/sh
export ECLIPSE_HOME="/usr/local/dev/eclipse"
$ECLIPSE_HOME/eclipse $*
现在打开Terminal,执行"eclipse"应该能打开Eclipse了。
最后,再添加Eclipse到Gnome菜单中
sudoedit /usr/share/applications/eclipse.desktop
内容如下:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/usr/local/dev/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
-
第二步:如果出现(The custom VM you have chosen is not a valid executable.)
sudo gedit /etc/eclipse/java_home
将文件中的
/usr/lib/jvm/java-6-sun-1.6.0.10(这是我的java_home目录,根据自己的实际情况来定)
这一行添加或移动到文件的顶部。
-
第三步:
sudo gedit ~/.eclipse/eclipserc
在这里面加一段代码:
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.10(这是我的java_home目录)
保存一下就好了。
-----------------------------------------------
-
安装netbeans
与 Eclipse的安装比较相似。
-
第一步:下载
方法1: 从新立德软件包管理器选择下载,自动安装
提供版本为:
Product Version: NetBeans IDE 6.1 (Build 080905)
Java: 1.6.0_10; Java HotSpot(TM) Client VM 11.0-b15
System: Linux version 2.6.27-10-generic running on i386; UTF-8; zh_CN (nb)
Userdir: /home/zhu/.netbeans/6.1
方法2:eclise.org下载,手动安装
下载到类似的文件: netbeans-6.1-ml-mobility-linux.sh.
开始,安装文件(双击,或者...):
sudo cp netbeans-6.1-ml-mobility-linux.sh /usr/src/dev/
cd /usr/src/dev
sudo chmod +x netbeans-6.1-ml-mobility-linux.sh
sudo ./netbeans-6.1-ml-mobility-linux.sh
执行最后一步后,出现安装界面,选择安装目录和JDK的位置,确定后完成安装,在当前目录生成了“netbeans-6.1"目录,里面是Netbeans的内容。
建立一个Netbeans可执行文件:
sudo touch /usr/local/bin/netbeans
sudo chmod 755 /usr/local/bin/netbeans
sudoedit /usr/local/bin/netbeans
内容如下:
#!/bin/sh
#!/bin/sh
export NETNEANS_PATH="/usr/local/dev/netbeans-6.1/bin"
$NETNEANS_PATH/netbeans $*
添加Netbeans到Gnome菜单中:
sudoedit /usr/share/applications/netbeans.desktop
内容如下:
[Desktop Entry]
Encoding=UTF-8
Name=NetBeans6.0
Comment=Sun Netbeans IDE
Exec=netbeans
Icon=/usr/local/dev/netbeans-6.1/nb6.1/netbeans.png
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true
注:其实netbeans的某些版本(像我这里的netbeans-6.1-ml-mobility-linux.sh)已经集成了WTK,可以在下载的时候选择你所需要的版本,这样也可以免除安装WTK
-
其他可能出现的问题
-
netbeans/WTK中文乱码
一般如果是采用自动安装,且JDK为6.0的以上的不会出现问题
如果出现,可以尝试这样解决中文支持问题,就是在 java 安装目录下放进去一个中文字体即可。
终端输入:
cd /usr/lib/jvm/java-6-sun/jre/lib/fonts
sudo mkdir fallback
cd fallback
sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttf(请按照自己系统中合适的中文字体来进行选择)
sudo mkfontdir
sudo mkfontscale
-
启动Eclipse/netbeans/WTK及其emulator失败
参考:
关于在中文系统Ubuntu 8.04上启动Eclipse/WTK及其emulator失败的解决办法
这些错误/异常是应用WTK及其模拟器采用了Java中的UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 语句来使用系统自身的lookandfeel,而Ubuntu系统中没有安装对应的主题导致的错误。
给出如下解决办法:
首先找到你的WTK的安装目录,在bin中找到ktoolbar和emulator这两个文件,这两个是启动WTK和Emulator的两个启动文件,使用vi或者gedit来对这两个文件进行编辑,在两个文件中的相关位置添加如下一行即可:
-Dswing.systemlaf="javax.swing.plaf.metal.MetalLookAndFeel" \
添加后的ktoolbar文件内容如下:
#!/bin/sh
javapathtowtk=/usr/java/jdk1.6.0_05/bin/
PRG=$0
# Resolve soft links
while [ -h "$PRG" ]; do
ls=`/bin/ls -ld "$PRG"`
link=`/usr/bin/expr "$ls" : '.*-> (.*)$'`
if /usr/bin/expr "$link" : '^/' > /dev/null 2>&1; then
PRG="$link"
else
PRG="`/usr/bin/dirname $PRG`/$link"
fi
done
KVEM_BIN=`dirname $PRG`
KVEM_HOME=`cd $...{KVEM_BIN}/.. ; pwd`
KVEM_LIB="${KVEM_HOME}/wtklib"
KVEM_API="${KVEM_HOME}/lib"
export MMAPI_GM_SOUNDBANK="${KVEM_API}/soundbank.dls"
"${javapathtowtk}java" -Dkvem.home="${KVEM_HOME}" \
-Djava.library.path="${KVEM_HOME}/bin" \
-Dswing.systemlaf="javax.swing.plaf.metal.MetalLookAndFeel" \
-cp "${KVEM_LIB}/kenv.zip:${KVEM_LIB}/ktools.zip:${KVEM_BIN}/JadTool.jar:${KVEM_BIN}/MEKeyTool.jar:${KVEM_LIB}/customjmf.jar:${KVEM_API}/j2me-ws.jar:${KVEM_BIN}/schema2beansdev.jar:${KVEM_BIN}/j2me_sg_ri.jar:${KVEM_BIN}/jaxrpc-impl.jar:${KVEM_BIN}/jaxrpc-api.jar:${KVEM_BIN}/jaxrpc-spi.jar:${KVEM_BIN}/activation.jar:${KVEM_BIN}/mail.jar:${KVEM_BIN}/saaj-api.jar:${KVEM_BIN}/saaj-impl.jar:${KVEM_BIN}/xsdlib.jar:${KVEM_LIB}/nist-sip-1.2.jar:${KVEM_LIB}/JainSipApi1.1.jar:${KVEM_LIB}/jain-sip-presence-proxy.jar"
com.sun.kvem.toolbar.Main "$@"
修改后的emulator文件内容如下:
#!/bin/sh
javapathtowtk=/usr/java/jdk1.6.0_05/bin/
PRG=$0
# Resolve soft links
while [ -h "$PRG" ]; do
ls=`/bin/ls -ld "$PRG"`
link=`/usr/bin/expr "$ls" : '.*-> (.*)$'`
if /usr/bin/expr "$link" : '^/' > /dev/null 2>&1; then
PRG="$link"
else
PRG="`/usr/bin/dirname $PRG`/$link"
fi
done
KVEM_BIN=`dirname "$PRG"`
KVEM_HOME=`cd "${KVEM_BIN}/.." ; pwd`
KVEM_LIB="${KVEM_HOME}/wtklib"
export MMAPI_GM_SOUNDBANK="${KVEM_HOME}/lib/soundbank.dls"
"${javapathtowtk}java" -Dkvem.home="${KVEM_HOME}" \
-Djava.library.path="${KVEM_HOME}/bin" \
-Dswing.systemlaf="javax.swing.plaf.metal.MetalLookAndFeel" \
-cp "${KVEM_LIB}/kenv.zip:${KVEM_LIB}/ktools.zip:${KVEM_LIB}/customjmf.jar"
com.sun.kvem.environment.EmulatorWrapper "$@" 0
好了,大功告成,现在可以运行WTK和Emulator了,而且还是中文的,继续努力吧...
-
Eclipse/netbenas启动很慢
可能性之一:使用了杀毒软件的文件扫描功能(如卡巴)
解决:在杀毒软件中设置例外,对Eclipse/netbenas程序关闭文件扫描。
可能性之二:分配给Eclipse/netbenas的内存过少
解决:修改配置文件
netbeans.conf
具体优化方案请参考其他文章。