编译一个 class 文件出现如下错误

kongdelu2008 2010-03-05 02:55:28
src:

public class hello
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

ERROR:

Exception in thread "main" java.lang.NoClassDefFoundError: uni
Caused by: java.lang.ClassNotFoundException: unixtest
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: unixtest. Program will exit.

希望大家给出一些出错的可能性!
...全文
181 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
引用 22 楼 bayougeng 的回复:
我特奇怪,classpath有问题你是怎么编译的呢。


rt.jar是JAVA基础类库 需要把它加到classpath中,个人认为就像C语言,需要link其中的类库(.lib),才能运行,
而编译是用不到的,不知道这么理解对不对
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
我特奇怪,classpath有问题你是怎么编译的呢。
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
呵呵,unix上面编译的字节码搬到windows上来也可以运行,看来java虚拟机标准规范确实不假.
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
恩,没错,是classpath配置的问题,太晕了,气死人,把时间都花这上面去了...
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
引用 17 楼 zhangdekun222 的回复:
类名首字母大写,classpath 和java_home 配置正确否

兄台,这些不是根本原因吧。
java_home配置不对的话,如何编译得到class?
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
引用 15 楼 bayougeng 的回复:
我估计你是只有敲命令:
java unixtest.class
所以出现了错误。

java unixtest
这样才是这却的。


命令没有错的

可能是配置的问题,哎,这个问题也是突然发现的,重新配置下
zdkiller 2010-03-05
  • 打赏
  • 举报
回复
类名首字母大写,classpath 和java_home 配置正确否
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
你这个问题真的很奇怪,我这一点问题都么有。
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
我估计你是只有敲命令:
java unixtest.class
所以出现了错误。

java unixtest
这样才是这却的。
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
没有生命任何包,就一个文件,然后就用命令行编译运行
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
引用 12 楼 bayougeng 的回复:
你最好把完整源码(包括package声明部分)贴上来。
然后告知编译命令和运行命令式怎么写的。


scr:

public class unixtest
{
public static void main(String[] args)
{
System.out.println("Welcome to UNIX OS!");
}
}

文件名为unixtest.java

只是为了尝试下,没有注意它的命名规范
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
你最好把完整源码(包括package声明部分)贴上来。
然后告知编译命令和运行命令式怎么写的。
liguang168 2010-03-05
  • 打赏
  • 举报
回复
引用 9 楼 l417584711 的回复:
public class hello

Hello 要这么写

你的问题  文件名 和 公共类名不一致

============================
你错了,他的文件名应该是“unixtest”。
liguang168 2010-03-05
  • 打赏
  • 举报
回复
你就直接写个文件,在命令行执行的是吧,在Eclipse中,肯定会报错的。
我在命令行下试了一下。应该就这个问题。你再试试。
aSysBang 2010-03-05
  • 打赏
  • 举报
回复
public class hello

Hello 要这么写

你的问题 文件名 和 公共类名不一致
liguang168 2010-03-05
  • 打赏
  • 举报
回复
实在看不出你哪里有问题,如果你其它类引用有问题,你只运行这一个类,也不至于报错。
就这么几行代码,hello与你的JAVA文件名一致吧。
kongdelu2008 2010-03-05
  • 打赏
  • 举报
回复
6楼:
我的意思是我源代码本来就是 unixtest 发帖的时候写错了,源代码没有问题的

还有,我的程序在类unix系统上可以正常运行,当初只是为测试下,但是不知道为什么,在windows 下编译没有出什么问题,java命令执行的时候出现了这个错误
liguang168 2010-03-05
  • 打赏
  • 举报
回复
引用 2 楼 kongdelu2008 的回复:
是这样的,类名是 unixtest ,这里我写错了

======================
应该就是这个问题,没有看出其它问题。
还有类的命名规范。注意一下。
liguang168 2010-03-05
  • 打赏
  • 举报
回复
不知道你的工程是怎么弄的。
如果没有引用的类,一开始应该就有提示。
asdujiayong 2010-03-05
  • 打赏
  • 举报
回复
public class unixtest 不是hello
加载更多回复(3)

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧