当前位置: 技术问答>java相关
很郁闷的问题,但很简单--搞定后立刻结贴
来源: 互联网 发布时间:2017-03-08
本文导语: class China { public static void Main(String[] args) { System.out.print("Hello World!"); } } 用javac可以通过 但不能用java编译,报错 Exception in thread "main" ava.lang.NoClassDefFoundError:HelloWorld/class 但我可以用jar打成China.jar 运行时...
class China
{
public static void Main(String[] args)
{
System.out.print("Hello World!");
}
}
用javac可以通过
但不能用java编译,报错
Exception in thread "main" ava.lang.NoClassDefFoundError:HelloWorld/class
但我可以用jar打成China.jar
运行时也不会出错,但也没有任何显示
Why????
{我用的是jdk1.4.0}
{
public static void Main(String[] args)
{
System.out.print("Hello World!");
}
}
用javac可以通过
但不能用java编译,报错
Exception in thread "main" ava.lang.NoClassDefFoundError:HelloWorld/class
但我可以用jar打成China.jar
运行时也不会出错,但也没有任何显示
Why????
{我用的是jdk1.4.0}
|
关于设置classpath,有两种方法,一种是加入到系统变量中,如下:
控制面版-->系统-->高级-->系统变量
添加变量
name:classpath
value:你需要使用的java的api的路径
第二种方法是在你编译和运行的时候加入,如下
javac -classpath "[你需要使用的java的api的路径和你的类文件所在的文件夹目录路径];%classpath%" HelloWorld.java
java -classpath "[你需要使用的java的api的路径和你的类文件所在的文件夹目录路径];%classpath%" HelloWorld
控制面版-->系统-->高级-->系统变量
添加变量
name:classpath
value:你需要使用的java的api的路径
第二种方法是在你编译和运行的时候加入,如下
javac -classpath "[你需要使用的java的api的路径和你的类文件所在的文件夹目录路径];%classpath%" HelloWorld.java
java -classpath "[你需要使用的java的api的路径和你的类文件所在的文件夹目录路径];%classpath%" HelloWorld
|
哦,设置环境变量
一. J2SDK1.4.1_01是SUN公司JDK的最新版本,可免费下载;
二. 我将其安装在WIN2000的E:j2sdk目录下面;
三. 安装完全成功之后,打开DOS窗口,在cd E:j2sdkbin目录下之后执行javac和java成功,但在其他任意目录下面执行java命令不成功,这主要是没有配置系统环境变量的原因;
四. 配置系统环境变量的目的就是让电脑中的某一个目录中的任何命令在任何其他目录中都可以执行,而我们的目的是使e;j2sdkbin目录下的所有命令在其他目录下都可以执行;
五. 下面配置系统环境变量:
1. 桌面-我的电脑-(鼠标右击)属性-高级-环境变量;
2. 在系统环境变量里面找到path一项,编辑:在最后加上e:j2sdkbin确定保存,前面一定要用分号与前面的值分开,然后一定要重开DOS窗口(我开始就是没有重开DOS窗口而屡试不成功的),再在任意目录下执行javac、java,应该成功,这说明你可以在任何目录下用这两个命令编译和执行的JAVA文件了;
3. 但是,光有编译和执行命令是不能成功编译的你的JAVA文件的,还必需告诉电脑去什么地方查找你的JAVA程序所用到的CLASSA类,这就要用到Classpath变量了;
4. 再在环境变量里面点添加,变量名填CLASSPATH,变量值填E:j2sdklibtools.jar;%JAVA_HOME%libdt.jar;这里是SUN公司的标准类所在地方.设置之后你应该可以编译成功HelloWorld.java之类的程序了;
5. 但是,有时候我们自己的编的类需要package打包放在一个目录下供其他类访问,我们怎么办呢?我的类都放在E:javasoftclass目录下,这时就需要编辑CLASSPATH,在后面加上:E:javasoftclass这条路径.ok,今后你自己的编译好的类就都可以放在此目录下供其他类访问了.
一. J2SDK1.4.1_01是SUN公司JDK的最新版本,可免费下载;
二. 我将其安装在WIN2000的E:j2sdk目录下面;
三. 安装完全成功之后,打开DOS窗口,在cd E:j2sdkbin目录下之后执行javac和java成功,但在其他任意目录下面执行java命令不成功,这主要是没有配置系统环境变量的原因;
四. 配置系统环境变量的目的就是让电脑中的某一个目录中的任何命令在任何其他目录中都可以执行,而我们的目的是使e;j2sdkbin目录下的所有命令在其他目录下都可以执行;
五. 下面配置系统环境变量:
1. 桌面-我的电脑-(鼠标右击)属性-高级-环境变量;
2. 在系统环境变量里面找到path一项,编辑:在最后加上e:j2sdkbin确定保存,前面一定要用分号与前面的值分开,然后一定要重开DOS窗口(我开始就是没有重开DOS窗口而屡试不成功的),再在任意目录下执行javac、java,应该成功,这说明你可以在任何目录下用这两个命令编译和执行的JAVA文件了;
3. 但是,光有编译和执行命令是不能成功编译的你的JAVA文件的,还必需告诉电脑去什么地方查找你的JAVA程序所用到的CLASSA类,这就要用到Classpath变量了;
4. 再在环境变量里面点添加,变量名填CLASSPATH,变量值填E:j2sdklibtools.jar;%JAVA_HOME%libdt.jar;这里是SUN公司的标准类所在地方.设置之后你应该可以编译成功HelloWorld.java之类的程序了;
5. 但是,有时候我们自己的编的类需要package打包放在一个目录下供其他类访问,我们怎么办呢?我的类都放在E:javasoftclass目录下,这时就需要编辑CLASSPATH,在后面加上:E:javasoftclass这条路径.ok,今后你自己的编译好的类就都可以放在此目录下供其他类访问了.
|
对了,以后这种有BUG的就用japan or korea,不然。。。 不太好。。。呵呵。
|
出这种错一般是你用了java china.class
而不是java china
对了,你把China全改为china(大小写变一下),再试试。
而不是java china
对了,你把China全改为china(大小写变一下),再试试。
|
大伙在靠这个过日子呢。版本不会有问题的。
|
应该是java China而不是java china,
使用java命令时应注意大小写。
使用java命令时应注意大小写。