LumaQQ2006跨平台版本
来源:互联网 发布:ubuntu 卸载chrome 编辑:程序博客网 时间:2024/05/17 22:19
LumaQQ2006跨平台版本 (LumaQQ 2006 Universal Edition No-JRE)
作者:Allan S.C. Yan <allan.yan@gmail.com> 2008-1-15
概要:实现LumaQQ的平台统一性,即是实现同一应用程序包在不同平台的选择性运行
版权:GNU Free Document License v2.0 or above for this document
Original LumaQQ(TM) 2006 @ http://lumaqq.linuxsir.org
说明:$/# 为shell终端提示符,其中 $为普通用户 #为超级用户root。 ## 为注释
==========================================================
Part A.安装和使用 LumaQQ 2006 Universal Edition
0.查看你的平台
$ uname -s # 为你的硬件平台(处理器) ~$arch
$ uname -m # 为你的软件平台(操作系统)~$OS
windows下则为 86.Windows 或者 64.Windows
1.配置JRE (>=1.5)
[1].下载安装:JRE 1.5
(地址: http://www.java.com/en/download/manual.jsp )
lumaqq依赖至少 JAVA_HOME的设置支持,注意本版文为NO-JRE的,
[2].设置Java系统环境
一般java位于/usr/lib下 或者是 /usr/java,具体请求助系统管理员
请设置环境变量 JAVA_HOME 以及 PATH 如下
export JAVA_HOME=/some/where/java/is
export PATH=$JAVA_HOME/bin:$PATH
(于 /etc/profile 或者 ~/.bashrc 中)
2.安装 LumaQQ 2006 Universal Edition
[0]如果选择升级模式,请将本文末尾的shell脚本部分Part.C.1/2拷贝并完全覆盖到 LumaQQ 下 lumaqq(.bat) 中(可先备份之)
此外,进行以下操作,将起升级到 LumaQQ 2006 Universal Edition
(1)建立 swt/$arch.$OS 文件夹 ## e.g. mkdir -p swt/86.Linux
(2)拷贝 swt/ 下所有文件到 swt/$arch.$OS 中 ## e.g. cp -f swt/* swt/86.Linux
(3)拷贝 lib/swt.jar 到 swt/$arch.$OS ## e.g. cp -f lib/swt.jar swt/86.Linux/
以下为全新安装
[1].解压 lumaqq_2006-universal_no_jre.zip 到某一目录下,以下称为 LUMAQQ_HOME
[2].Windows下请直接解压后,直接运行 lumaqq.bat
[3].*nix下
$ cd $LUMAQQ_HOME
$ chmod +x ./*lumaqq*)
$ /some/where/.../lumaqq 或者是 $ ./lumaqq 均可
如果一切正常,则会显示启动在成功的提示,
否则会显示错误信息
3.如果有错误请与我联系,已知的可能出现的错误为:
[1]."No SWT library available for this [$(uname -m),$(uname -s)], get swt for this platform and retry."
表示对应你的平台的SWT库在 $LUMAQQ_HOME/swt/下未能找到;可能原因请参看3.[3]
排除了3.[3]的错误外,就是没有下载对应平台swt库,请自己编译或者下载swt库
SWT 3.2 下载地址:http://mirror.calvin.edu/eclipse/downloads/drops/R-3.2-200606291905/index.php
在上方应用的网页中下载swt包,抽取对应平台中的swt.jar以及*.jnil 等文件保存到
$LUMAQQ_HOME/swt/$arch.$OS 文件夹中,重新启动
[2]."No JRE can be found, please set JAVA_HOME environmental variable as which is neccessary."
表示没有找到JAVA_HOME的环境变量,请参考1中有关部分设置
[3]."LumaQQ cannot be lanuched due to problems, see log at $LUMAQQ_HOME/lumaqq.log for more infomation!"
表示环境设置正确,但是错误无法识别,请查看 $LUMAQQ_HOME/lumaqq.log,排错;
特别的,在*nix中区分大小写,请注意保持 swt/ 下文件夹及其文件的大小写;
如 swt/$arch.$OS,中 arch(uname -m)一般为小写,OS(uname -s)中含有大写,
而在swt/$arch.$OS下的所有文件应该为小写。
4.已知支持 [86(x86) 64(x86_64) ppc sparc ] 硬件平台下
[Linux SunOS(Solaris) FreeBSD Darwin(MacOSX) Windows] 等操作系统
5.无论使用相对、绝对路径或者系统图标均可访问lumaqq,也支持符号链接方式的启动
建立在 /usr/bin/下的符号连接
# ln -sf $LUMAQQ_HOME/lumaqq /usr/bin/lumaqq
6.关于LumaQQ配置文件的问题
本版本的配置文件存放于 $LUMAQQ_HOME 下
附庸以前的版本请复制 ~/.lumaqq ~/.lumaqq2006 下文件到 $LUMAQQ_HOME 中
(推荐以上做法,可以在多个平台下共享LumaQQ的配置)
==========================================================
Part B.对版LumaQQ 2006 M2版本的修改(细节、手动修改的方法)
1. swt的不同平台条件选择性运行加载
抽取原来LumaQQ的所有2005版swt包,融入以win32为基础的原版:
LumaQQ @ http://lumaqq.linuxsir.org
## 也可从 eclipse/swt 的网站中下载 swt ,请见 A.3.[1] 中的部分
## e.g. 对于 soalris sparc的发行版本
## LumaQQ 2005_gtk*_solaris_sparce_*/swt/ -> LumaQQ/swt.sparc.solaris
##LumaQQ 2005_gtk*_solaris_sparce_*/lib/swt.jar -> LumaQQ/swt.sparc.solaris/swt.jar
如此抽取得到 LumaQQ/swt/ 下
64.Linux ## intel x86_64 Linux
86.Darwin ## intel x86 Mac OS X
86.FreeBSD ## intel x86 FreeBSD
86.Linux ## intel x86 Linux
86.SunOS ## x86 Solaris (910)
86.Windows ## intel x86 Windows (9x/NT/XP/2003/Vista)
ppc.Darwin ## PowerPC Mac OS X
ppc.Linux ## PowerPC Linux
sparc.SunOS ## (Ultra-)Sparc Solaris (9/10)
2.修改 LumaQQ的启动脚本,
(1) lumaqq.bat win32平台CMD批处理启动
@echo off '添加以下一行
copy /y ./swt/86.Windows/swt.jar ./lib/swt.jar
start javaw -Djava.library.path=swt/x86.WIndows /* 原为 swt*/...
---
(2)lumaqq --- POSIX(Linux/Unix)平台的启动脚本 $LUMAQQ_HOME/lumaqq
[1].扫描系统脚本(如果存在) /etc/profile /etc/bashrc /etc/bash.bashrc ~/.bashrc
[2].从启动命令(符号连接/绝对路径/相对路径)发现LUMAQQ_HOME(LumaQQ的根目录)
[3].使用uname扫描硬件平台(uname -m)和软件平台(uname -s)得到 $ARCHTYPE 和 $OSTYPE
[4].为启动准备:包括
(1).拷贝相应的swt.jar到lib/下、 ## e.g. swt/86.Linux/swt.jar -> lib/swt.jar
(2).扫描lib的的jar包准备CLASSPATH、 ## 沿用原脚本的方式,cp改名为 LIB_JARS
(3).格式形成 SWT_PATH 为 "java -Djava.library.path=$SWT_PATH" 加载库路径
[5].启动LumaQQ
(1).检查[4].(1)是否操作正确,也即是检查平台是否支持。
(2).若以上成功,则检查JAVA_HOME环境变量是否存在
(3).若以上成功,则使用java启动LumaQQ
(4).任何不成功的显示错误提示信息
3.关于扩展lumaqq以支持更多平台的问题
见 B.1 或者 A.3.[1] 中的相关部分
==========================================================
Part C. LumaQQ 2006 Universal Edition 启动脚本
1.Windows 启动脚本
2.Linux/Unix (非Windows)下 LUMAQQ_HOME/lumaqq
@ author Allan S.C. Yan <allan.yan@gmail.com>
@ release time 2008-1-15
作者:Allan S.C. Yan <allan.yan@gmail.com> 2008-1-15
概要:实现LumaQQ的平台统一性,即是实现同一应用程序包在不同平台的选择性运行
版权:GNU Free Document License v2.0 or above for this document
Original LumaQQ(TM) 2006 @ http://lumaqq.linuxsir.org
说明:$/# 为shell终端提示符,其中 $为普通用户 #为超级用户root。 ## 为注释
==========================================================
Part A.安装和使用 LumaQQ 2006 Universal Edition
0.查看你的平台
$ uname -s # 为你的硬件平台(处理器) ~$arch
$ uname -m # 为你的软件平台(操作系统)~$OS
windows下则为 86.Windows 或者 64.Windows
1.配置JRE (>=1.5)
[1].下载安装:JRE 1.5
(地址: http://www.java.com/en/download/manual.jsp )
lumaqq依赖至少 JAVA_HOME的设置支持,注意本版文为NO-JRE的,
[2].设置Java系统环境
一般java位于/usr/lib下 或者是 /usr/java,具体请求助系统管理员
请设置环境变量 JAVA_HOME 以及 PATH 如下
export JAVA_HOME=/some/where/java/is
export PATH=$JAVA_HOME/bin:$PATH
(于 /etc/profile 或者 ~/.bashrc 中)
2.安装 LumaQQ 2006 Universal Edition
[0]如果选择升级模式,请将本文末尾的shell脚本部分Part.C.1/2拷贝并完全覆盖到 LumaQQ 下 lumaqq(.bat) 中(可先备份之)
此外,进行以下操作,将起升级到 LumaQQ 2006 Universal Edition
(1)建立 swt/$arch.$OS 文件夹 ## e.g. mkdir -p swt/86.Linux
(2)拷贝 swt/ 下所有文件到 swt/$arch.$OS 中 ## e.g. cp -f swt/* swt/86.Linux
(3)拷贝 lib/swt.jar 到 swt/$arch.$OS ## e.g. cp -f lib/swt.jar swt/86.Linux/
以下为全新安装
[1].解压 lumaqq_2006-universal_no_jre.zip 到某一目录下,以下称为 LUMAQQ_HOME
[2].Windows下请直接解压后,直接运行 lumaqq.bat
[3].*nix下
$ cd $LUMAQQ_HOME
$ chmod +x ./*lumaqq*)
$ /some/where/.../lumaqq 或者是 $ ./lumaqq 均可
如果一切正常,则会显示启动在成功的提示,
否则会显示错误信息
3.如果有错误请与我联系,已知的可能出现的错误为:
[1]."No SWT library available for this [$(uname -m),$(uname -s)], get swt for this platform and retry."
表示对应你的平台的SWT库在 $LUMAQQ_HOME/swt/下未能找到;可能原因请参看3.[3]
排除了3.[3]的错误外,就是没有下载对应平台swt库,请自己编译或者下载swt库
SWT 3.2 下载地址:http://mirror.calvin.edu/eclipse/downloads/drops/R-3.2-200606291905/index.php
在上方应用的网页中下载swt包,抽取对应平台中的swt.jar以及*.jnil 等文件保存到
$LUMAQQ_HOME/swt/$arch.$OS 文件夹中,重新启动
[2]."No JRE can be found, please set JAVA_HOME environmental variable as which is neccessary."
表示没有找到JAVA_HOME的环境变量,请参考1中有关部分设置
[3]."LumaQQ cannot be lanuched due to problems, see log at $LUMAQQ_HOME/lumaqq.log for more infomation!"
表示环境设置正确,但是错误无法识别,请查看 $LUMAQQ_HOME/lumaqq.log,排错;
特别的,在*nix中区分大小写,请注意保持 swt/ 下文件夹及其文件的大小写;
如 swt/$arch.$OS,中 arch(uname -m)一般为小写,OS(uname -s)中含有大写,
而在swt/$arch.$OS下的所有文件应该为小写。
4.已知支持 [86(x86) 64(x86_64) ppc sparc ] 硬件平台下
[Linux SunOS(Solaris) FreeBSD Darwin(MacOSX) Windows] 等操作系统
5.无论使用相对、绝对路径或者系统图标均可访问lumaqq,也支持符号链接方式的启动
建立在 /usr/bin/下的符号连接
# ln -sf $LUMAQQ_HOME/lumaqq /usr/bin/lumaqq
6.关于LumaQQ配置文件的问题
本版本的配置文件存放于 $LUMAQQ_HOME 下
附庸以前的版本请复制 ~/.lumaqq ~/.lumaqq2006 下文件到 $LUMAQQ_HOME 中
(推荐以上做法,可以在多个平台下共享LumaQQ的配置)
==========================================================
Part B.对版LumaQQ 2006 M2版本的修改(细节、手动修改的方法)
1. swt的不同平台条件选择性运行加载
抽取原来LumaQQ的所有2005版swt包,融入以win32为基础的原版:
LumaQQ @ http://lumaqq.linuxsir.org
## 也可从 eclipse/swt 的网站中下载 swt ,请见 A.3.[1] 中的部分
## e.g. 对于 soalris sparc的发行版本
## LumaQQ 2005_gtk*_solaris_sparce_*/swt/ -> LumaQQ/swt.sparc.solaris
##LumaQQ 2005_gtk*_solaris_sparce_*/lib/swt.jar -> LumaQQ/swt.sparc.solaris/swt.jar
如此抽取得到 LumaQQ/swt/ 下
64.Linux ## intel x86_64 Linux
86.Darwin ## intel x86 Mac OS X
86.FreeBSD ## intel x86 FreeBSD
86.Linux ## intel x86 Linux
86.SunOS ## x86 Solaris (910)
86.Windows ## intel x86 Windows (9x/NT/XP/2003/Vista)
ppc.Darwin ## PowerPC Mac OS X
ppc.Linux ## PowerPC Linux
sparc.SunOS ## (Ultra-)Sparc Solaris (9/10)
2.修改 LumaQQ的启动脚本,
(1) lumaqq.bat win32平台CMD批处理启动
@echo off '添加以下一行
copy /y ./swt/86.Windows/swt.jar ./lib/swt.jar
start javaw -Djava.library.path=swt/x86.WIndows /* 原为 swt*/...
---
(2)lumaqq --- POSIX(Linux/Unix)平台的启动脚本 $LUMAQQ_HOME/lumaqq
[1].扫描系统脚本(如果存在) /etc/profile /etc/bashrc /etc/bash.bashrc ~/.bashrc
[2].从启动命令(符号连接/绝对路径/相对路径)发现LUMAQQ_HOME(LumaQQ的根目录)
[3].使用uname扫描硬件平台(uname -m)和软件平台(uname -s)得到 $ARCHTYPE 和 $OSTYPE
[4].为启动准备:包括
(1).拷贝相应的swt.jar到lib/下、 ## e.g. swt/86.Linux/swt.jar -> lib/swt.jar
(2).扫描lib的的jar包准备CLASSPATH、 ## 沿用原脚本的方式,cp改名为 LIB_JARS
(3).格式形成 SWT_PATH 为 "java -Djava.library.path=$SWT_PATH" 加载库路径
[5].启动LumaQQ
(1).检查[4].(1)是否操作正确,也即是检查平台是否支持。
(2).若以上成功,则检查JAVA_HOME环境变量是否存在
(3).若以上成功,则使用java启动LumaQQ
(4).任何不成功的显示错误提示信息
3.关于扩展lumaqq以支持更多平台的问题
见 B.1 或者 A.3.[1] 中的相关部分
==========================================================
Part C. LumaQQ 2006 Universal Edition 启动脚本
1.Windows 启动脚本
@echo off
@copy /y ./swt/86.Windows/swt.jar ./lib/swt.jar
@start javaw -Djava.library.path=swt/86.Windows -classpath ./lib/lumaqq.jar;./lib/lumaqq_xsd.jar;./lib/jql_protocol.jar;./lib/jql_net.jar;./lib/lumaqq_template.jar;./lib/commons-codec.jar;./lib/commons-logging.jar;./lib/jdom.jar;./lib/je.jar;./lib/log4j-1.2.8.jar;./lib/org.eclipse.core.commands_3.2.0.I20060214-1600.jar;./lib/org.eclipse.core.resources_3.2.0.v20060214.jar;./lib/org.eclipse.core.runtime_3.2.0.v20060216.jar;./lib/org.eclipse.emf.common_2.2.0.v200602241148.jar;./lib/org.eclipse.emf.ecore.xmi_2.2.0.v200602241148.jar;./lib/org.eclipse.emf.ecore_2.2.0.v200602241148.jar;./lib/org.eclipse.equinox.common_1.0.0.v20060215a.jar;./lib/org.eclipse.jface_3.2.0.I20060216-1600.jar;./lib/org.eclipse.osgi_3.2.0.v20060214.jar;./lib/org.eclipse.ui.workbench_3.2.0.I20060216-1600.jar;./lib/poifs.jar;./lib/swt.jar;./lib/xerces.jar edu.tsinghua.lumaqq.LumaQQ
@copy /y ./swt/86.Windows/swt.jar ./lib/swt.jar
@start javaw -Djava.library.path=swt/86.Windows -classpath ./lib/lumaqq.jar;./lib/lumaqq_xsd.jar;./lib/jql_protocol.jar;./lib/jql_net.jar;./lib/lumaqq_template.jar;./lib/commons-codec.jar;./lib/commons-logging.jar;./lib/jdom.jar;./lib/je.jar;./lib/log4j-1.2.8.jar;./lib/org.eclipse.core.commands_3.2.0.I20060214-1600.jar;./lib/org.eclipse.core.resources_3.2.0.v20060214.jar;./lib/org.eclipse.core.runtime_3.2.0.v20060216.jar;./lib/org.eclipse.emf.common_2.2.0.v200602241148.jar;./lib/org.eclipse.emf.ecore.xmi_2.2.0.v200602241148.jar;./lib/org.eclipse.emf.ecore_2.2.0.v200602241148.jar;./lib/org.eclipse.equinox.common_1.0.0.v20060215a.jar;./lib/org.eclipse.jface_3.2.0.I20060216-1600.jar;./lib/org.eclipse.osgi_3.2.0.v20060214.jar;./lib/org.eclipse.ui.workbench_3.2.0.I20060216-1600.jar;./lib/poifs.jar;./lib/swt.jar;./lib/xerces.jar edu.tsinghua.lumaqq.LumaQQ
2.Linux/Unix (非Windows)下 LUMAQQ_HOME/lumaqq
#!/bin/bash
# [1].扫描系统脚本(如果存在) /etc/profile /etc/bashrc /etc/bash.bashrc ~/.bashrc
# source the system env profiles
[ -e /etc/profile ] && source /etc/profile
[ -e /etc/bashrc ] && source /etc/bashrc
[ -e /etc/bash.bashrc ] && source /etc/bashrc
[ -e ~/.bashrc ] && source ~/.bashrc
# show LumaQQ Universal Edition copyright
echo "+=======================================================================================+"
echo " LumaQQ 2006 Universal Edition "
echo "Abstract :Run LumaQQ on conditional architectural operating system (paltform-independent) "
echo " Author : Allan S.C.Yan (allan.yan@gmail.cm) "
echo " Copyright: (2008-$(date +%Y))GNU Public License or Lesser GNU Public License version 2.0 "
echo "+=======================================================================================+ "
# [2].从启动命令(符号连接/绝对路径/相对路径)发现LUMAQQ_HOME(LumaQQ的根目录)
# locate the LUMAQQ_HOME where lumaqq resides
LUMAQQ_HOME=
if [ -L "$0" ]; then
LUMAQQ_HOME=`dirname $(ls -l $(which $(basename $0)) | awk 'BEGIN{FS=">"}{print $2}')`
else
LUMAQQ_HOME=`dirname "$0"`
fi
#echo $LUMAQQ_HOME
# [3].使用uname扫描硬件平台(uname -m)和软件平台(uname -s)得到 $ARCHTYPE 和 $OSTYPE
# find out the ARCHTYPE and OSYTYPE of this Platform
supported_archs="$(ls $LUMAQQ_HOME/swt | sort | awk 'BEGIN{FS="."}{print $1}' | uniq) unknown"
for arch in $supported_archs;do
[ -z $(uname -m | grep "$arch") ] || break
done
ARCHTYPE=$arch
supported_oss="$(ls $LUMAQQ_HOME/swt | sort | grep "$ARCHTYPE" | awk 'BEGIN{FS="."}{print $2}'| uniq) unknown"
for os in $supported_oss;do
[ -z $(uname -s | grep "$os") ] || break
done
OSTYPE=$os
# [4].为启动准备:包括
# format the neccessary params to start lumaqq
## (1).拷贝相应的swt.jar到lib/下、 ## e.g. swt/86.Linux/swt.jar -> lib/swt.jar
cp -f $LUMAQQ_HOME/swt/$ARCHTYPE.$OSTYPE/swt.jar $LUMAQQ_HOME/lib/swt.jar
ret=$?
## (2).扫描lib的的jar包准备CLASSPATH、 ## 沿用原脚本的方式,cp改名为 LIB_JARS
LIB_JARS=
for jar_file in $LUMAQQ_HOME/lib/*.jar; do
LIB_JARS="$jar_file":$LIB_JARS
done
## (3).格式形成 SWT_PATH 为 "java -Djava.library.path=$SWT_PATH" 加载库路径
SWT_PATH=$LUMAQQ_HOME/swt/$ARCHTYPE.$OSTYPE
# [5].启动LumaQQ
# start lumaqq using java and log it to lumaqq.log
## (1).检查[4].(1)是否操作正确,也即是检查平台是否支持。
if [ $ret -eq 0 ];then
## (2).若以上成功,则检查JAVA_HOME环境变量是否存在
if [ -z $JAVA_HOME ];then
echo "No JRE can be found, please set JAVA_HOME environmental variable as which is neccessary."
exit 1
else
## (3).若以上成功,则使用java启动LumaQQ
[ -x $(which java) ] &&
java -Djava.library.path=$SWT_PATH -classpath $LIB_JARS edu.tsinghua.lumaqq.LumaQQ $LUMAQQ_HOME
> $LUMAQQ_HOME/lumaqq.log 2>&1 &
if [ $? -eq 0 ];then
echo "Started LumaQQ Universal Edition in foreground on this platform of $ARCHTYPE.$OSTYPE Successfully."
exit 0
else
echo "LumaQQ cannot be lanuched , see log at $LUMAQQ_HOME/lumaqq.log for more infomation!"
exit 1
fi
fi
else
echo "No SWT library available for this [$(uname -m),$(uname -s)], get swt for this platform and retry."
exit 1
fi
# [1].扫描系统脚本(如果存在) /etc/profile /etc/bashrc /etc/bash.bashrc ~/.bashrc
# source the system env profiles
[ -e /etc/profile ] && source /etc/profile
[ -e /etc/bashrc ] && source /etc/bashrc
[ -e /etc/bash.bashrc ] && source /etc/bashrc
[ -e ~/.bashrc ] && source ~/.bashrc
# show LumaQQ Universal Edition copyright
echo "+=======================================================================================+"
echo " LumaQQ 2006 Universal Edition "
echo "Abstract :Run LumaQQ on conditional architectural operating system (paltform-independent) "
echo " Author : Allan S.C.Yan (allan.yan@gmail.cm) "
echo " Copyright: (2008-$(date +%Y))GNU Public License or Lesser GNU Public License version 2.0 "
echo "+=======================================================================================+ "
# [2].从启动命令(符号连接/绝对路径/相对路径)发现LUMAQQ_HOME(LumaQQ的根目录)
# locate the LUMAQQ_HOME where lumaqq resides
LUMAQQ_HOME=
if [ -L "$0" ]; then
LUMAQQ_HOME=`dirname $(ls -l $(which $(basename $0)) | awk 'BEGIN{FS=">"}{print $2}')`
else
LUMAQQ_HOME=`dirname "$0"`
fi
#echo $LUMAQQ_HOME
# [3].使用uname扫描硬件平台(uname -m)和软件平台(uname -s)得到 $ARCHTYPE 和 $OSTYPE
# find out the ARCHTYPE and OSYTYPE of this Platform
supported_archs="$(ls $LUMAQQ_HOME/swt | sort | awk 'BEGIN{FS="."}{print $1}' | uniq) unknown"
for arch in $supported_archs;do
[ -z $(uname -m | grep "$arch") ] || break
done
ARCHTYPE=$arch
supported_oss="$(ls $LUMAQQ_HOME/swt | sort | grep "$ARCHTYPE" | awk 'BEGIN{FS="."}{print $2}'| uniq) unknown"
for os in $supported_oss;do
[ -z $(uname -s | grep "$os") ] || break
done
OSTYPE=$os
# [4].为启动准备:包括
# format the neccessary params to start lumaqq
## (1).拷贝相应的swt.jar到lib/下、 ## e.g. swt/86.Linux/swt.jar -> lib/swt.jar
cp -f $LUMAQQ_HOME/swt/$ARCHTYPE.$OSTYPE/swt.jar $LUMAQQ_HOME/lib/swt.jar
ret=$?
## (2).扫描lib的的jar包准备CLASSPATH、 ## 沿用原脚本的方式,cp改名为 LIB_JARS
LIB_JARS=
for jar_file in $LUMAQQ_HOME/lib/*.jar; do
LIB_JARS="$jar_file":$LIB_JARS
done
## (3).格式形成 SWT_PATH 为 "java -Djava.library.path=$SWT_PATH" 加载库路径
SWT_PATH=$LUMAQQ_HOME/swt/$ARCHTYPE.$OSTYPE
# [5].启动LumaQQ
# start lumaqq using java and log it to lumaqq.log
## (1).检查[4].(1)是否操作正确,也即是检查平台是否支持。
if [ $ret -eq 0 ];then
## (2).若以上成功,则检查JAVA_HOME环境变量是否存在
if [ -z $JAVA_HOME ];then
echo "No JRE can be found, please set JAVA_HOME environmental variable as which is neccessary."
exit 1
else
## (3).若以上成功,则使用java启动LumaQQ
[ -x $(which java) ] &&
java -Djava.library.path=$SWT_PATH -classpath $LIB_JARS edu.tsinghua.lumaqq.LumaQQ $LUMAQQ_HOME
> $LUMAQQ_HOME/lumaqq.log 2>&1 &
if [ $? -eq 0 ];then
echo "Started LumaQQ Universal Edition in foreground on this platform of $ARCHTYPE.$OSTYPE Successfully."
exit 0
else
echo "LumaQQ cannot be lanuched , see log at $LUMAQQ_HOME/lumaqq.log for more infomation!"
exit 1
fi
fi
else
echo "No SWT library available for this [$(uname -m),$(uname -s)], get swt for this platform and retry."
exit 1
fi
@ author Allan S.C. Yan <allan.yan@gmail.com>
@ release time 2008-1-15
- LumaQQ2006跨平台版本
- LumaQQ2006的安装
- Eclipse3.2跨平台版本
- 跨平台 跨版本 大规模数据迁移
- Qt跨平台与跨windows版本
- MsysGit乱码与跨平台版本管理
- 跨平台开发,如何进行版本升级?
- Symbian平台的版本
- JAVA - JAVA2平台版本
- 网上支付平台PHP版本
- 三大开源版本控制平台
- DES JAVA平台版本
- Java2平台版本
- Android不同平台版本
- RMAN同字节序跨平台跨版本迁移数据库
- 跨平台INI文件读写API(C++版本)
- 不同ASE版本跨平台远程备份数据库的操作
- 跨平台移动端开发框架NativeScript 发布正式版本
- IIS和Oracle的APache的80端口冲突的问题的解决
- 在多次启动CAD的时候,有时在加载acadiso.dwt的时候死机(转载)
- 制作ArcEngine安装包
- window.open()的所有参数列表
- 最简单的代理示例
- LumaQQ2006跨平台版本
- 无题
- Diff程序的原理
- C#实现汉字拼音简码
- 第十一課 言葉
- 100度获三井创投300万美元注资
- 部署 PHP 系列: 加速用于 Oracle 的 PHP 代码运行速度
- Asp.net Ajax框架教程
- T_SQL 中的split函数