查看: 836|回复: 7
|
java application cannot find .class
[复制链接]
|
|
我在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了。。 |
|
|
|
|
|
|
|
发表于 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:
[ 本帖最后由 黄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 |
|
|
|
|
|
|
|
楼主 |
发表于 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 啦!很没意识对吧!
应该
- int count=0
- while(...){
- ...
- if(...){
- System.out.println(count+": "+number);
- count++;
- }
- ...
- }
复制代码
至于 CLASSPATH, 这类问题,网上有很多 FAQ 类似的参考,
http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html |
|
|
|
|
|
|
| |
本周最热论坛帖子
|