当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : java命令的使用问题,比较的蹊跷。。。。请指教
帖子发表于 : 2006-08-15 1:56 

注册: 2006-06-30 17:42
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
先说明问题
一.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:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


请指教一下....谢谢


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-08-15 2:00 

注册: 2006-06-30 17:42
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
Exception in thread "main" java.lang.NoClassDefFoundError: HelloDate
这句话。。。其实有HelloData.class这个类的。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-08-15 7:40 

注册: 2006-06-20 18:05
帖子: 128
送出感谢: 0 次
接收感谢: 0 次
你到thinkinjava目录里执行java c02/xxx试试


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-08-15 10:22 

注册: 2006-06-30 17:42
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
为什么这样就可以了呢???我试了。。。可以了阿。。。是不是环境变量出错了??


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-08-15 10:42 

注册: 2006-06-20 18:05
帖子: 128
送出感谢: 0 次
接收感谢: 0 次
不是环境变量的问题,而是默认的执行目录是工程的文件夹


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-08-15 10:43 

注册: 2006-06-30 17:42
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
这个应该怎么改呢??


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2006-08-15 23:08 

注册: 2006-08-14 11:40
帖子: 36
送出感谢: 0 次
接收感谢: 0 次
怀疑是环境变量那个classpath没有设置"."就是当前目录,所以它不在当前目录下找那个class,找不到,自然没有main了。解决办法是要么java ./*.class
或者到环境变量中添加


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2006-08-24 17:23 

注册: 2006-02-14 9:52
帖子: 178
地址: 西双版纳
送出感谢: 0 次
接收感谢: 0 次
因为你的源码中定义
package c02;
所以你必须在HelloDate.class的上级目录(含c02的目录)下按如下方式执行:
java c02.HelloDate


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2006-08-24 22:54 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
楼上正解。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译