LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 806|回复: 4

lumaqq不能启动了??

[复制链接]
发表于 2006-9-1 16:18:15 | 显示全部楼层 |阅读模式
很奇怪的问题,在我一个用户里是可以启动lumaqq的,一切正常,但在其他的用户里包括root用户,lumaqq启动就会发生错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: edu/tsinghua/lumaqq/LumaQQ (Unsupported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

好像是说我的jre版本有问题,但是却有一个用户可以用,以前是所有用户都可以的,
不知哪位大侠遇到过这种问题,怎么解决?
 楼主| 发表于 2006-9-1 16:52:41 | 显示全部楼层
问题解决了,不能启动的用户bash_profile里少了设置jdk了,加入source ~/.gentoo/java-env,然后在加入文件.gentoo/java-env,内容为
if [ -f $HOME/.gentoo/java ] ; then
        . $HOME/.gentoo/java
fi
再加入.gentoo/java,内容为# Autogenerated by java-config
# Command: --set-user-vm=sun-jdk-1.5.0.06
JDK_HOME=/opt/sun-jdk-1.5.0.06
JAVAC=/opt/sun-jdk-1.5.0.06/bin/javac
PATH=/opt/sun-jdk-1.5.0.06/bin:/opt/sun-jdk-1.5.0.06/jre/bin{PATH}
# VERSION="Sun JDK 1.5.0.06"
MANPATH=${MANPATH}:/opt/sun-jdk-1.5.0.06/man
JAVA_HOME=/opt/sun-jdk-1.5.0.06

问题就解决了
回复 支持 反对

使用道具 举报

发表于 2006-9-1 18:06:34 | 显示全部楼层
我的方法是修改 lumaqq 文件,找出以下部分:
# 搜索JRE,首先查看是否是自带JRE版本,然后检查JAVA_HOME是否设置,最后使用which java,如果都失败
# 显示提示信息
if [ -e "$PREFIX/java" ]; then
        "$PREFIX/java/bin/java" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/$CONFIG" &
elif [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ]; then

后面加了一句“JAVA_HOME=$(java-config -o)”, 修改成为以下的:
# 搜索JRE,首先查看是否是自带JRE版本,然后检查JAVA_HOME是否设置,最后使用which java,如果都失败
# 显示提示信息
if [ -e "$PREFIX/java" ]; then
        "$PREFIX/java/bin/java" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/$CONFIG" &
elif [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA_HOME=$(java-config -o)
        "$JAVA_HOME/bin/java" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/$CONFIG" &
else
        JAVACMD=`which java`
        if [ -n "$JAVACMD" ] && [ -x "$JAVACMD" ]; then
                "$JAVACMD" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/$CONFIG" &
        elif [ -x /usr/bin/java ]; then
                /usr/bin/java -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/$CONFIG" &
        else
                echo "No JRE can be found, please set JAVA_HOME environment"
        fi
fi

cd "$OLD_DIR"

这个方法在现在的Gentoo 里面同时装了Java1.4 和 Java1.5 时有效,它会自动使用当前设置的用户Java vm ,另外 LumaQQ2006 要 Java1.5支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-1 22:47:02 | 显示全部楼层
是啊!我就是装了jdk4和jdk5,搞得好麻烦的。上面的问题就是用户目录下没设置好path,结果找到系统的vm,是jre1。4的,所以出错。那个可以启动的用户就是设置了!
回复 支持 反对

使用道具 举报

发表于 2006-9-2 14:54:51 | 显示全部楼层
Me too! 索性不用QQ改msn了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表