当前位置:  技术问答>java相关

请教一个小问题!请解答,谢谢!

    来源: 互联网  发布时间:2015-01-24

    本文导语:  在win2K中,已安装jdk1.2.2于c盘下,设置路径如下:path=c:jdk1.2.2bin classpath=.;%classpath%;d:test_java 其中d:test_java是工作目录, 在d:test_java下有package1和package2目录,在package1目录下有MyClass1类,其中MyClass1类如下: package package...

在win2K中,已安装jdk1.2.2于c盘下,设置路径如下:path=c:jdk1.2.2bin
classpath=.;%classpath%;d:test_java 其中d:test_java是工作目录,
在d:test_java下有package1和package2目录,在package1目录下有MyClass1类,其中MyClass1类如下:
package package1;
public class MyClass1 {
  private int counts;
  public MyClass1()
  {
     setcounts(0);
  }
  public MyClass1(int i)
  {
     setcounts(i);
  }
   protected void setcounts(int i)
  {
   counts=i;
  }
  public int getcounts()
  {
   return counts;
  }
  public static void main(String[] args){
   MyClass1 c1=new MyClass1(9);
   System.out.println("counts="+c1.counts);
}

}
在d:test_javapackage1下编译通过,但是执行时出现问题如下:
Exception in thread "main" java.lang.NoClassDefFoundError: MyClass1 (wrong name:package1/MyClass1)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:477)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:10
9)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:249)
        at java.net.URLClassLoader.access$1(URLClassLoader.java:217)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:192)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:298)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:285)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:314)

但是把package package1;注释了就不出错了!
why?

|
$
第二:为什么一定要用java package1.MyClass1,而不能用java MyClass1?
$
这就是固定的用法,根据我的理解,在你运行java package1.MyClass1时,“package1.MyClass1”是你所运行的类的完整包名,他会和你写在MyClass1.java中的"package package1;"作比较,如果不同,就会Exception in thread "main" java.lang.NoClassDefFoundError: MyClass1 (wrong name:
 package1/MyClass1)!

|
你編譯生成的MyClass1.class文件
是不是不在d:test_javapackage1下
而在d:test_java下?

|
还有一个问题大家注意没有,那就是使用package语句将类文件打包是直接用javac classname.java时并没有生成相应的目录结构,例如你在d:test_java下有MyClass1.java,而在该类中有package package1;
当你在d:test_java下使用javac MyClass1.java 时并没有自动生成目录d:test_javapackage1,而是将MyClass1.class直接生成在d:test_java下了,而当你使用
javac -d . MyClass1.java 时自动生成了package1目录,并将生成的类文件放在了该目录下。

|
archeror,我看你已经被盘得有点糊涂了 :(
其实在d:test_java下执行java package1.MyClass1是对的,而在d:test_javapackage1下执行java package1.MyClass1是不对的,执行java MyClass1也是不对的,这样应该清楚点了。

|
package package1;
一般是用來其它的java程序調用該程序用到的呀

|
在d:test_java下輸入:

java package1.MyClass1 
就行了呀,你把包的概念還沒有理解清楚呀

|
在d:test_javapackage1下编译通过?是否应在d:test_java下编译

|
在java 编程思想中有详细的说法,以上的朋友用的
java package1.MyClass1 方法是对的。·!

|
to:提问者
    你应该看看是不是在你的d:test_javapackage1下面还有一个叫package1的目录,我没看明白你的目录层次关系。其实,在.class所在的目录下执行java MyClass1是不回有问题的。

|
d:test_java>javac -d Myclass1.java
d:test_java>java package1.Myclass1

|
up

|
重建一個整齊的環境

    
 
 

您可能感兴趣的文章:

  • 菜鸟请教一个初级问题?请予以解答,谢谢
  • 小妹请教一下 linux的网卡 问题!望解答!
  • 请教:这个题目如何解答?
  • linuxC中的fork问题,请教大侠帮忙解答
  • 请教高手解答linux声卡驱动的疑惑
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 内核裁减 请教 谢谢谢谢
  • 请教:$PWD 这个东西是什么意思啊?谢谢!
  • 如何将一个jdbc数据源绑定到JNDI树上。请教!谢谢!
  • 新手请教,我用VI时按ESC键,总是回嘟嘟嘟嘟响,请问如何去掉!谢谢!
  • 请教:unix或linux下的c++标准库在哪个目录??谢谢!
  • linux起不来了,请教高手,谢谢
  • 请教unix下参数的问题,谢谢
  • 请教高手,如何在VMware下安装suse10.0??请指教,谢谢。
  • 请教:我 gzip ramdisk.gz ,为什么不能把 ramdisk.gz 解压呢?谢谢!
  • 请教一个AIX题 谢谢
  • 请教如何用java虚拟机运行hello.class文件,谢谢。
  • 请教 几个问题!!!!谢谢!!!
  • 请教:防火墙如何正确开启80端口? 谢谢!
  • 请教有关自动ftp的问题!谢谢
  • 请教一个简单问题,什么命令可以看到目录下的所有用ln建立的联接??谢谢
  • 请教一个关于TOMCAT的配置文件SERVER.XML的问题。谢谢!
  • 请教关于图形映射的问题(AREA),谢谢!
  • 请教linux下的浏览器?谢谢
  • 请教一个常识问题,小妹谢谢各位!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题
  • 请教unix常用命令命令问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3