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-b15System: 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/fontssudo
mkdir fallbackcd
fallbacksudo ln
-s
/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf(请按照自己系统中合适的中文字体来进行选择)sudo
mkfontdirsudo
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
具体优化方案请参考其他文章。