LinuxSir.cn,穿越时空的Linuxsir!

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

我是一个新手,有好多问题不知道,请高手们指点。

[复制链接]
发表于 2007-3-29 14:50:05 | 显示全部楼层 |阅读模式
我在网上下了一个redhat fedora core6,安装成功了,os自动识别了我的声卡和显卡,我也装了一个mplayer能看电影了,也能上网了,有这几个问题搞不明白:
1.我下载 sun公司了 jdk1.6,在命令行下能运行java,javac,写一个小程序,用javac *.java能通过,可是用java 类名 时就出错。
Exception in thread "main" java.lang.NoClassDefFoundError: 1
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: 1 not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/java/jdk1.6.0/lib/dt.jar,file:/usr/java/jdk1.6.0/lib/tools.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)

我的classpath,和path都设置正确了。这是我的set的显示:

BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu")
BASH_VERSION='3.1.17(1)-release'
CLASSPATH=.:/usr/java/jdk1.6.0/lib/dt.jar:/usr/java/jdk1.6.0/lib/tools.jar
COLORS=/etc/DIR_COLORS.xterm
COLORTERM=gnome-terminal
COLUMNS=80
CVS_RSH=ssh
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ARersegXVn,guid=2b360b4622bf0348c261df9198230f00
DESKTOP_SESSION=gnome
DESKTOP_STARTUP_ID=
DIRSTACK=()
DISPLAY=:0.0
EUID=0
GDMSESSION=gnome
GDM_XSERVER_LOCATION=local
GNOME_DESKTOP_SESSION_ID=Default
GNOME_KEYRING_SOCKET=/tmp/keyring-acnQos/socket
GROUPS=()
GTK_IM_MODULE=scim-bridge
GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2
G_BROKEN_FILENAMES=1
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=localhost.localdomain
HOSTTYPE=i686
IFS=$' \t\n'
INPUTRC=/etc/inputrc
JAVA_HOME=/usr/java/jdk1.6.0
LANG=zh_CN.UTF-8
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=24
LOGNAME=root
LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01r=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
MACHTYPE=i686-redhat-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/jdk1.6.0/bin:/root/bin:/usr/java/jdk1.6.0/bin
PIPESTATUS=([0]="0")
PPID=23975
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}{PWD/#$HOME/~}"; echo -ne "\007"'
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/root
QT_IM_MODULE=scim
SESSION_MANAGER=local/localhost.localdomain:/tmp/.ICE-unix/18591
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=2
SSH_AGENT_PID=19099
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SSH_AUTH_SOCK=/tmp/ssh-lWhgF18591/agent.18591
TERM=xterm
UID=0
USER=root
WINDOWID=58720335
XAUTHORITY=/tmp/.gdmPHBQPT
XMODIFIERS=@im=SCIM
_=CLASSPATH
consoletype=pty

不知道错在哪???
发表于 2007-3-30 11:48:30 | 显示全部楼层
从CLASSPATH上看没有设置错误。

你可以写个helloworld程序试下,或者把PATH里的/usr/java/jdk1.6.0移到最前面。

http://www.silverfox.name/archive/120

这里有个标准程序,先检查JDK,再检查类的写法。

记得是java helloworld,不是java helloworld.class
回复 支持 反对

使用道具 举报

发表于 2007-4-6 20:14:15 | 显示全部楼层
设置好变量后,用下面的程序测试下就可以啦
public class Hello {
  public static void main(String args[]) {
    System.out.println("Hellow Linux");
    }
}
用javac Hello.java编译
再用java Hello运行就可以啦
回复 支持 反对

使用道具 举报

发表于 2007-5-10 13:36:45 | 显示全部楼层
楼上的hellow不错啊
回复 支持 反对

使用道具 举报

发表于 2007-5-11 18:57:55 | 显示全部楼层
Java有个吐血的规定:
文件名和类名相同。

此外,无论在win下还是在Unix下,都分大小写。命令行下也要区分。
回复 支持 反对

使用道具 举报

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

本版积分规则

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