佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 836|回复: 7

java application cannot find .class

[复制链接]
发表于 22-11-2006 10:35 PM | 显示全部楼层 |阅读模式
我在Command Prompt运行我的java....
不知道为什么会出现问题。。。

大家可以帮帮我吗??

> javac Test.java

compile successful 就会有 Test.class
对吗??
我已经在我的folder里看见了。。

当我,

> java Test
就出现这问题。。。说我没有.class挡案。。
为什么呢??

Exception in thread "main" java.lang.NoClassDefFoundError: Test

我明明就是已经compile。。没有问题啊。。
我只是尝试system.out.println而已。。。
我的code是没有问题啊。。
如果有问题compile就出现erorrs了。。
回复

使用道具 举报


ADVERTISEMENT

发表于 22-11-2006 10:45 PM | 显示全部楼层
原帖由 wcpon 于 22-11-2006 10:35 PM 发表
我在Command Prompt运行我的java....
不知道为什么会出现问题。。。

大家可以帮帮我吗??

> javac Test.java
compile successful 就会有 Test.class
对吗??
我已经在我的folder里看见了。。

...


Case sensitive, 是不是 lowercase 的问题,main(...) method 所在的 class 必须和你的 `Test.java' 一样!
e.g., 在你的 Test.java:

  1. public class Test{...}
复制代码

[ 本帖最后由 黄sir 于 22-11-2006 10:47 PM 编辑 ]
回复

使用道具 举报

发表于 23-11-2006 09:33 PM | 显示全部楼层
原帖由 wcpon 于 22-11-2006 10:35 PM 发表
我在Command Prompt运行我的java....
不知道为什么会出现问题。。。

大家可以帮帮我吗??

> javac Test.java

compile successful 就会有 Test.class
对吗??
我已经在我的folder里看见了。。

...


或许,你可以打

java -classpath . Test

这只是为了使java知道你所运行的 class path 在那里。 拿个“点”就是指class path就在指你当下的path.

要这样也只不过是,可能你电脑里尤其他运用Java的程序,已经设定了classpath....
回复

使用道具 举报

 楼主| 发表于 23-11-2006 11:40 PM | 显示全部楼层
原帖由 jllp 于 23-11-2006 09:33 PM 发表


或许,你可以打

〉java -classpath . Test

这只是为了使java知道你所运行的 class path 在那里。 拿个“点”就是指class path就在指你当下的path.

要这样也只不过是,可能你电脑里尤其他运用Java的程 ...


你这个可以了...
可是 show out results 几个..
我只是放这个code....

public class Repeat
{
        public static void main (String args[])
        {
                int number = 2;
                int mod;

                while (number <= 100)
                {
                        mod = number % 2;
       
                        if (mod ==0)
                        {
                                System.out.println("number");
                        }
                                number++;
                }
        }
}

它出现很多number.....
唉.....
为什么我不能
> java Repeat
??????
我用 java -classpath . Repeat
就可以..
为什么呢?????
谁可以救我?????
回复

使用道具 举报

发表于 24-11-2006 12:30 AM | 显示全部楼层
如果你是用XP的话,你可以在 "Control Panal" > "System" > "System  Properties" > "Advanced" > "Environment Variables" > System variables" 里加一个新的variable "CLASSPATH"。 把"CLASSPATH" 的 value 设成 ".;<java lib path>".

<java lib path> 填上你的java.exe所装置的位置. 例如 c:\j2sdk1.4.2\lib

[ 本帖最后由 BC2207 于 24-11-2006 04:01 AM 编辑 ]
回复

使用道具 举报

发表于 24-11-2006 01:42 AM | 显示全部楼层
出现很多number?? 因为你print "number" 嘛....只要在2至100之间,有多少个双数,就print多少个“number”......
你想要System.out.println(number); 还是System.out.println("number");????

至于不能用
> java Repeat
的话,可以查查看,你电脑里的enviroment的CLASSPATH这个有什么value...
在command prompt里,打
> echo %CLASSPATH% ,如果有value的话,意思就是说,你的java runtime,它"只会"在CLASSPATH里面的folder directory里找你的class.
也就是说,不管你的class file在那里生成的,没有把class file抄去CLASSPATH的folder directory里的话,你只会得到

Exception in thread "main" java.lang.NoClassDefFoundError: Repeat

如果你打echo %CLASSPATH%,下一行出现%CLASSPATH%的话,通常你就可以用
> java Repeat
回复

使用道具 举报

Follow Us
 楼主| 发表于 24-11-2006 02:08 PM | 显示全部楼层
can liao...
thank you guys ^_^
my Classpath is point to other software application...
now i added the classpath already...
it works fine..
thank you ~
回复

使用道具 举报

发表于 25-11-2006 12:23 PM | 显示全部楼层
原帖由 wcpon 于 23-11-2006 11:40 PM 发表


你这个可以了...
可是 show out results 几个..
我只是放这个code....

public class Repeat
{
        public static void main (String args[])
        {
                int number = 2;
                int mod;

                while (number <= 100)
                {
                        mod = number % 2;
      
                        if (mod ==0)
                        {
                                System.out.println("number");
                        }
                                number++;
                }
        }
}

它出现很多number.....
唉.....
为什么我不能
> java Repeat
??????
我用 java -classpath . Repeat
就可以..
为什么呢?????
谁可以救我?????


当然出现很多 (String)number 啦!很没意识对吧!

应该

  1. int count=0
  2. while(...){
  3. ...
  4.   if(...){
  5.     System.out.println(count+": "+number);
  6.     count++;
  7.   }
  8. ...
  9. }
复制代码


至于 CLASSPATH, 这类问题,网上有很多 FAQ 类似的参考,

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html
回复

使用道具 举报


ADVERTISEMENT

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-11-2024 04:26 AM , Processed in 0.085624 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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