我昨晚安装了sunjava,然后就不可以运行java程序了
java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
Caused by: java.lang.ClassNotFoundException: Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Hello.  Program will exit.
搜索了后,说是jre版本冲突什么的,ubuntu下我先安装了个
jre-6u24-linux-i586.bin
后来又安装了
jdk-6u24-linux-i586.bin
这两个应该是可以的哈,难道是和ubuntu自带的openJDK冲突么?
后来我设置了默认JDK为sunJDK啊,还是不行。javac Hello.java 可以生成.class文件,但是java Hello,就不行了··求救啊···SOS
谢谢各位了

解决方案 »

  1.   

    你先删除openJdk配置下运行环境啊
      

  2.   

    我觉得java虚拟机应该没得问题,只是找不到你运行的类。
      

  3.   

    设置环境变量试试
    export PATH=$PATH:你JAVA中BIN目录地址
      

  4.   

    我直接用的OPENJDK没什么问题,除了源码还是专门拷的别人的
      

  5.   


    没安装sunjdk前我编译了没有问题的---
    自己在vim下写的,
      

  6.   

    可能是环境变量里面有了两个java 两个javac
      

  7.   

    java -version
    java version "1.6.0_24"
    Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
    Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)javac -version
    javac 1.6.0_24
    ----------这有什么问题吗?
    这是/etc/environment下的配置文件PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"export JAVA_HOME=/home/liuyu/Java/jdk1.6.0_23export JRE_Home=/home/liuyu/Java/jdk1.6.0_23/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre然后我再sudo gedit /etc/profile
    里面也添加了
    export JAVA_HOME=/home/liuyu/Java/jdk1.6.0_23
    export JRE_HOME=/home/liuyu/Java/jdk1.6.0_23/jre
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin------------以上就是我的配置了有大大看出问题在哪么--
      

  8.   

    export CLASSPATH=.;$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    试试改改这个看,要加上当前路径
      

  9.   

    那你先env输出下你登陆的环境变量吧,它从哪读的就去哪改
      

  10.   

    输入命令env 然后贴出来大家看看
    设置环境变量最好是在~/.bash_profile文件里
      

  11.   

    http://forum.ubuntu.org.cn/viewtopic.php?t=183803
      

  12.   


    ORBIT_SOCKETDIR=/tmp/orbit-liuyu
    SSH_AGENT_PID=1254
    TERM=xterm
    SHELL=/bin/bash
    XDG_SESSION_COOKIE=9af33f48c0a3507c43f168b60000000d-1300776658.761206-2111866496
    WINDOWID=67113281
    GNOME_KEYRING_CONTROL=/tmp/keyring-458str
    GTK_MODULES=canberra-gtk-module
    JRE_HOME=/home/liuyu/Java/jdk1.6.0_23/jre
    USER=liuyu
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
    SSH_AUTH_SOCK=/tmp/keyring-458str/ssh
    DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
    SESSION_MANAGER=local/liuyu-virtual-machine:@/tmp/.ICE-unix/1223,unix/liuyu-virtual-machine:/tmp/.ICE-unix/1223
    USERNAME=liuyu
    XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
    PATH=/home/liuyu/Java/jdk1.6.0_23/bin:/home/liuyu/Java/jdk1.6.0_23/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/liuyu/bin
    DESKTOP_SESSION=gnome
    QT_IM_MODULE=xim
    PWD=/home/liuyu
    JAVA_HOME=/home/liuyu/Java/jdk1.6.0_23
    XMODIFIERS=@im=ibus
    GDM_KEYBOARD_LAYOUT=us
    LANG=zh_CN.UTF-8
    MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
    GDM_LANG=zh_CN
    GDMSESSION=gnome
    SHLVL=1
    HOME=/home/liuyu
    LANGUAGE=zh_CN:en
    GNOME_DESKTOP_SESSION_ID=this-is-deprecated
    JRE_Home=/home/liuyu/Java/jdk1.6.0_23/jre
    LOGNAME=liuyu
    XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
    CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre:/home/liuyu/Java/jdk1.6.0_23/lib:/home/liuyu/Java/jdk1.6.0_23/jre/lib
    DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-nPjL6srTWS,guid=121015a5429a42e27d8cdce800000026
    LESSOPEN=| /usr/bin/lesspipe %s
    WINDOWPATH=7
    DISPLAY=:0.0
    GTK_IM_MODULE=ibus
    LESSCLOSE=/usr/bin/lesspipe %s %s
    XAUTHORITY=/var/run/gdm/auth-for-liuyu-WNnRQt/database
    COLORTERM=gnome-terminal
    _=/usr/bin/env
    这就是的
      

  13.   

    sudo update-alternatives --config javaThere are 3 choices for the alternative java (providing /usr/bin/java).  选择       路径                                    优先级  状态
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式
    * 1            /home/liuyu/java/jdk1.6.0_24/bin/java      300       手动模式
      2            /home/liuyu/java/jdk1.6.0_24/bin/javac     300       手动模式
      3            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式
    这有说明了什么呢?十分迷惑
      

  14.   

    明显的是环境变量的问题
    export JAVA_HOME=/usr/java/jdk1.6.0_18
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar第一行的目的是指定JAVA_HOME的路径只是用来供第二行及第三行引用
    第二行的目的是告诉系统去什么地方找java、javac类似的命令
    第三行的目的是告诉java虚拟机去哪个地方加载class文件,","表示当前路径,另外还有二个java需要的工具包ubuntu去这个地方~/.bash_profile 追加上面的三条就行了,把你先前的全给改了
      

  15.   

    我也知道是环境变量的问题,于是我把/etc/profile、/etc/environmen两个文件的环境变量全部删除了,但是env一看,发现还是存在环境变量,真是诡异哈。于是我进入~/下查看profile以及bashrc,里面也没有什么东西哈,奇怪···我这env下的环境变量哪里来的哈??
      

  16.   

    请教一下JRE_Home=/home/liuyu/Java/jdk1.6.0_23/jre
    PATH=/home/liuyu/Java/jdk1.6.0_23/bin:/home/liuyu/Java/jdk1.6.0_23/jre/bin这些在哪里啊,我明明已经把/etc/profile、/etc/environmen两个文件的环境变量全部删除了,为什么还有呢?不解,十分不解~~~~!!!!!!