Exception in thread "main"java.lang.NoclassDefFoundError 程序没问题,保持文件名为Hello.java编译为javac -d . Hello.java运行为java hello.Hello 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Exception in thread "main"java.lang.NoclassDefFoundError出现上面的错误有几种可能1.你的环境变量没有设置好2.你的class名错误(就是说你的类名跟文件名不一致)3,你的文件找不到(你所在目录下没有改文件)4.你的class错误(这个看了,你程序没错)^_^仔细查一下 classjava(原始野人)说的很全啦 到你的包hello所在的目录下,运行javac hello/Hello.javajava hello/HelloOK~~~ 在包hello所在的目录下运行javac -d . Hello.javajava hello.Hello 如果classpath中设置了“.;”的话,下面的例子可以帮你了解。javac SayHello.java――不指定路径,javac.exe只会在当前目录下寻找文件编译java net.colin.gui.SayHello.java――java.exe会根据环境变量的设置顺着指定的结构往下寻找javac MyClient.java――在编译时就会找import的包和类;如果没有package语句,则为默认无名包。1、建立一个包括包名的java文件在F:\JavaApp\MyClass\testPackage\net\colin\gui目录下一个java文件如下://SayHello.javapackage net.colin.gui;public class SayHello { public void print() { System.out.println("from SayHello!"); } public static void main(String[] args) { new SayHello().print (); }}在F:\JavaApp\MyClass\testPackage\net\colin\gui目录下编译:javac SayHello.java,要运行这个java文件,需要切换命令行当前目录在F:\JavaApp\MyClass\testPackage目录,然后运行如下命令: java net.colin.gui.SayHello (当前目录要在包顶层目录上,而运行文件必须是包括包名的完整名称)2、在另一个java文件中使用包括包名的java文件在 F:\JavaApp\MyClass\testPackage 目录下建立一个java文件,如下://MyClass.javaimport com.colin.gui.*;public class MyClient { public static void main(String[] args) { new SayHello().print(); }}在F:\JavaApp\MyClass\testPackage 目录下运行javac MyClass.java要运行这个Java文件,直接输入java MyClass就可以了3、在一个包括包名的文件中引入另一个使用包名的文件在MyClass文件顶部加入package com.colin.client;另存为F:\JavaApp\MyClass\testPackage\com\colin\client\MyClass.java,文件如下://MyClient.javapackage com.colin.client;import com.colin.gui.*;public class MyClient { public static void main(String[] args) { new SayHello().print(); }}我们要在这个文件中引用F:\JavaApp\MyClass\testPackage\com\colin\gui\SayHello.java中的方法print(); 在当前目录F:\JavaApp\MyClass\testPackage\com\colin\client下编译,javac MyClient.java,成功;在目录F:\JavaApp\MyClass\testPackage输入java com.colin.client.MyClient 运行,成功。小结:从上面三个例子中我们可以看出,java在编译时都是直接编译(javac SayHello.java),但文档结构应该按照文件中包声明的形式(SayHello.java上方目录结构必须是…./com/colin/gui/);编译时java文件中有导入包的,会按照当前编译包的结构从顶层开始向下寻找,因此导入的包不能在顶层(这里是不能在com之外)之外的,除非设置了新的环境变量,使其拥有多个顶层(比如设置了C:\j2sdk1.4.2_04\lib\tools.jar;);java在包顶层目录下运行时需要符合java文件中声明的包结构(java com.colin.gui.SayHello)。 在环境变量里设置当前路径!Linux下:CLASSPATH=$CLASSPATH+:.export CLASSPATH在Windows下的同理! 关于CardLayout的使用 不知道哪里出问题了 (笔试)java 交换整型值问题 请问如何用正则表达式去掉全部带&的标记???????? 查询一个星期内数据 一个想了三天零四个小时的笔试题 求 Jakarta-ORO 包 写的 正则表达式! 为什么drawString()输出的字符串不换行??打印机输出也是这个问题 有请各位朋友帮忙讨论--关于动态生成的话题! 关于全选的问题大家帮忙看看~ 想问一问正则表达式在平常开发中会经常用到吗 各位高手!在哪可以找到些java啊applet圖形動畫方面的資料啊!幫幫忙,謝了啊! 小弟请教高手了!
出现上面的错误有几种可能
1.你的环境变量没有设置好
2.你的class名错误(就是说你的类名跟文件名不一致)
3,你的文件找不到(你所在目录下没有改文件)
4.你的class错误(这个看了,你程序没错)
^_^仔细查一下
java hello/HelloOK~~~
javac -d . Hello.java
java hello.Hello
java net.colin.gui.SayHello.java――java.exe会根据环境变量的设置顺着指定的结构往下寻找
javac MyClient.java――在编译时就会找import的包和类;
如果没有package语句,则为默认无名包。1、建立一个包括包名的java文件
在F:\JavaApp\MyClass\testPackage\net\colin\gui目录下一个java文件如下://SayHello.javapackage net.colin.gui;public class SayHello
{
public void print()
{
System.out.println("from SayHello!");
} public static void main(String[] args)
{
new SayHello().print ();
}
}
在F:\JavaApp\MyClass\testPackage\net\colin\gui目录下编译:javac SayHello.java,
要运行这个java文件,需要切换命令行当前目录在F:\JavaApp\MyClass\testPackage目录,然后运行如下命令: java net.colin.gui.SayHello (当前目录要在包顶层目录上,而运行文件必须是包括包名的完整名称)2、在另一个java文件中使用包括包名的java文件
在 F:\JavaApp\MyClass\testPackage 目录下建立一个java文件,如下:
//MyClass.javaimport com.colin.gui.*;public class MyClient
{
public static void main(String[] args)
{
new SayHello().print();
}
}
在F:\JavaApp\MyClass\testPackage 目录下运行javac MyClass.java
要运行这个Java文件,直接输入java MyClass就可以了3、在一个包括包名的文件中引入另一个使用包名的文件
在MyClass文件顶部加入package com.colin.client;另存为F:\JavaApp\MyClass\testPackage\com\colin\client\MyClass.java,文件如下:
//MyClient.java
package com.colin.client;import com.colin.gui.*;public class MyClient
{
public static void main(String[] args)
{
new SayHello().print();
}
}我们要在这个文件中引用F:\JavaApp\MyClass\testPackage\com\colin\gui\SayHello.java中的方法print(); 在当前目录F:\JavaApp\MyClass\testPackage\com\colin\client下编译,javac MyClient.java,成功;在目录F:\JavaApp\MyClass\testPackage输入java com.colin.client.MyClient 运行,成功。小结:从上面三个例子中我们可以看出,java在编译时都是直接编译(javac SayHello.java),但文档结构应该按照文件中包声明的形式(SayHello.java上方目录结构必须是…./com/colin/gui/);编译时java文件中有导入包的,会按照当前编译包的结构从顶层开始向下寻找,因此导入的包不能在顶层(这里是不能在com之外)之外的,除非设置了新的环境变量,使其拥有多个顶层(比如设置了C:\j2sdk1.4.2_04\lib\tools.jar;);java在包顶层目录下运行时需要符合java文件中声明的包结构(java com.colin.gui.SayHello)。
Linux下:
CLASSPATH=$CLASSPATH+:.
export CLASSPATH
在Windows下的同理!