我昨晚安装了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
谢谢各位了
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
谢谢各位了
export PATH=$PATH:你JAVA中BIN目录地址
没安装sunjdk前我编译了没有问题的---
自己在vim下写的,
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------------以上就是我的配置了有大大看出问题在哪么--
试试改改这个看,要加上当前路径
设置环境变量最好是在~/.bash_profile文件里
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
这就是的
------------------------------------------------------------
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 手动模式
这有说明了什么呢?十分迷惑
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 追加上面的三条就行了,把你先前的全给改了
PATH=/home/liuyu/Java/jdk1.6.0_23/bin:/home/liuyu/Java/jdk1.6.0_23/jre/bin这些在哪里啊,我明明已经把/etc/profile、/etc/environmen两个文件的环境变量全部删除了,为什么还有呢?不解,十分不解~~~~!!!!!!