找回密码
 注册
查看: 1596|回复: 4

javac可以使用,可是java出错的问题

[复制链接]
发表于 2006-8-15 01:53:12 | 显示全部楼层 |阅读模式
先说明问题
一.JDK安装好了,环境变量设置好了,别的项目中的程序javac,java,javap......都可以使用了.
二,这个程序在eclipse3.2里可以运行正确.
三,这是一个Thinkinjava里面的程序,网上下载的,我加了一个thinkinjava的文件夹,所以运来的诸如c01,c02....都变成了thinkinjavaxiangmu下面的包了,开始有错误,我加了包的声明以后就没有错误了.
四,这些包里面的程序,javac和javap都没有错误.
程序如下:
package c02;
//: c02:HelloDate.java
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
import java.util.*;

/** The first Thinking in Java example program.
* Displays a string and today's date.
* @author Bruce Eckel
* @author www.BruceEckel.com
* @version 2.0
*/
public class HelloDate {
  /** Sole entry point to class & application
   * @param args array of string arguments
   * @return No return value
   * @exception exceptions No exceptions thrown
  */
  public static void main(String[] args) {
    System.out.println("Hello, it's: ");
    System.out.println(new Date());
  }
} ///:~


出错情况如下 :

ghostsimon@ghostsimon-laptop:~/workspace/thinkInJava/c02$ javac HelloDate.java
ghostsimon@ghostsimon-laptop:~/workspace/thinkInJava/c02$ java HelloDate
Exception in thread "main" java.lang.NoClassDefFoundError: HelloDate (wrong name : c02/HelloDate)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12 4)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:18
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:26
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


请指教一下....谢谢
 楼主| 发表于 2006-8-15 02:05:50 | 显示全部楼层
Exception in thread "main" java.lang.NoClassDefFoundError: HelloDate
这句话。。。其实有HelloData.class这个类的。
回复

使用道具 举报

发表于 2006-8-15 09:32:11 | 显示全部楼层
退一层目录运行试试
回复

使用道具 举报

 楼主| 发表于 2006-8-15 10:51:41 | 显示全部楼层
我退了一层目录,在/thinkInJava下执行java c02.HelloData就可以了。。。这是为什么呢,应该怎么修改阿。
回复

使用道具 举报

发表于 2006-8-15 12:15:44 | 显示全部楼层
改什么? 你声明了这个
[code:1]package c02[/code:1]
就得在和 c02 同级的目录下run它。 你要在 c02 目录里run, 把这行屏蔽, 运行:
[code:1]java HelloData[/code:1]

找找有关package的说明资料,再看看就明白了。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2025-2-6 18:21 , Processed in 0.022055 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

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