编译成CLASS文件没问题 可是运行就有问题

C、C++和Java语言
回复
头像
sfree
帖子: 603
注册时间: 2007-03-17 1:24
来自: 湖南长沙
送出感谢: 0
接收感谢: 0
联系:

编译成CLASS文件没问题 可是运行就有问题

#1

帖子 sfree » 2007-07-16 13:25

如题
终端提示sfree@freedom:~$ java /home/sfree/Desktop/helloworld.class
Exception in thread "main" java.lang.NoClassDefFoundError: /home/sfree/Desktop/helloworld/class

源文件是肯定没错的

哪位高手帮一下忙
头像
Amankwah
帖子: 624
注册时间: 2006-10-16 7:24
来自: 安康/西安/广州
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 Amankwah » 2007-07-16 13:26

基本上是CLASSPATH环境变量有问题~
读书取正,读易取变,读骚取幽,读庄取达,读汉文取坚,最有味卷中岁月。
与菊同野,与梅同疏,与莲同洁,与兰同芳,与海棠同韵,定自称花里神仙。
头像
aitilang
帖子: 1026
注册时间: 2007-04-28 21:38
送出感谢: 0
接收感谢: 0

#3

帖子 aitilang » 2007-07-16 14:13

class文件不是这么运行的。
还是好好看书吧。
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 mmxcq » 2007-10-28 1:35

老大不要后面的.class
直接用java 类名但是不要加.class后缀
skergreen
帖子: 11
注册时间: 2007-07-08 17:35
送出感谢: 0
接收感谢: 0

#5

帖子 skergreen » 2007-11-07 12:05

我也 是这个问题 但是绝不是加了.class的问题

应该是环境变量的 问题
ray58750034
帖子: 24
注册时间: 2007-06-19 8:55
送出感谢: 0
接收感谢: 0

#6

帖子 ray58750034 » 2007-11-08 10:01

编译的时候是 javac filename 跟文件名!
运行的时候是 java classname 是类名!!

最简单的sample:

javac sample\Hello.java // 编译sample下面Hello.java文件
java sample.Hello // 运行sample包里的Hello类

另外,Hello.java里的public 类也叫 class Hello,不然还是会认不出。
ray58750034
帖子: 24
注册时间: 2007-06-19 8:55
送出感谢: 0
接收感谢: 0

#7

帖子 ray58750034 » 2007-11-08 10:43

sorry.. 工作时候用的win..下班才用linux...现在是上班时间..所以习惯性地用了 "\"

修正: javac sample/Hello.java
头像
AutumnHealth
帖子: 776
注册时间: 2006-12-20 18:41
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 AutumnHealth » 2007-11-08 11:30

ray58750034 写了:sorry.. 工作时候用的win..下班才用linux...现在是上班时间..所以习惯性地用了 ""

修正: javac sample/Hello.java
对于新手,他们不知道包是什么东西。。。。HelloWorld还是放在默认包吧 :D
尽情享受生活~

Welcome to AutumnHealth's blog:
http://forum.ubuntu.org.cn/weblog.php?w=1421
http://blog.csdn.net/autumnhealth
头像
imjie
帖子: 249
注册时间: 2007-05-29 21:21
来自: Kaiping China
送出感谢: 0
接收感谢: 0

#9

帖子 imjie » 2007-11-17 0:34

修改 /etc/environment 文件,加这两行
CLASSPATH=/usr/lib/jvm/java-6-sun/lib:./
JAVA_HOME=/usr/lib/jvm/java-6-sun
然后在终端 source /etc/environment 就可以了
ubuntu=respect+helpfulness+sharing+community+caring+trust+unselfishness
头像
stlxv
论坛版主
帖子: 8273
注册时间: 2006-05-03 0:39
来自: المريخ
送出感谢: 0
接收感谢: 1 次

Re: 编译成CLASS文件没问题 可是运行就有问题

#10

帖子 stlxv » 2007-11-17 0:39

sfree 写了:如题
终端提示sfree@freedom:~$ java /home/sfree/Desktop/helloworld.class
Exception in thread "main" java.lang.NoClassDefFoundError: /home/sfree/Desktop/helloworld/class

源文件是肯定没错的

哪位高手帮一下忙

代码: 全选

java -classpath "~/Desktop" helloworld
PHP是最好的语言!不服来战!
jrg9522
帖子: 12
注册时间: 2007-11-13 1:11
送出感谢: 0
接收感谢: 0

#11

帖子 jrg9522 » 2007-12-21 12:27

java 路径+类名
不加扩展名
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 sonixrp » 2007-12-21 12:35

假设hello.java 文件在 /home/sol/这里的话操作就应该是

set classpath=.
javac -d . hello.java
java hello
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
raulvii
帖子: 90
注册时间: 2006-10-21 17:06
送出感谢: 0
接收感谢: 0

#13

帖子 raulvii » 2007-12-30 19:20

我也遇到了的!好郁闷呐
修改了路径,然后又重新启动envirement,还是不行!郁闷阿~
iihawk
帖子: 2
注册时间: 2007-12-30 11:26
送出感谢: 0
接收感谢: 0

#14

帖子 iihawk » 2007-12-30 19:39

有没有人知道问题出在那里啊?????
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林
送出感谢: 0
接收感谢: 2 次

Re: 编译成CLASS文件没问题 可是运行就有问题

#15

帖子 tipfoo » 2007-12-31 11:06

sfree 写了: 终端提示sfree@freedom:~$ java /home/sfree/Desktop/helloworld.class
Exception in thread "main" java.lang.NoClassDefFoundError: /home/sfree/Desktop/helloworld/class
你应该将类名“helloworld”作为参数传递,因为并没有定义一个类叫作“/home/sfree/Desktop/helloworld.class”。
由于你的这个目录不在默认的类搜索路径中,因此,你需要用“-classpath”或"-cp"指定它(如果有多个目录,用“:”分隔)。

代码: 全选

~$ java -classpath "/home/sfree/Desktop/" helloworld
并且,你的 helloworld.java 中定义的类名也要与文件名相同,即“helloworld”(写成HelloWorld都不行)。
sfree 写了: 源文件是肯定没错的
:idea: 别太吝啬了──把源码贴出来,别人能更好地帮你找出问题。。
回复

回到 “C/C++/Java”