黑马程序员技术交流社区

标题: 命令行:Javac和Java命令 [打印本页]

作者: 马亚冲    时间: 2011-8-25 09:40
标题: 命令行:Javac和Java命令
今天试一下命令行里写代码吧,用管开发工具里,现在练习一下命令行里开发,可是出现错误:[code=java]package xg.myc;

public class Demo02{
        public static void main(String[] args){
                System.out.println("Demo02");
        }
}[/code]F:\java\xg\myc>java Demo02
Exception in thread "main" java.lang.NoClassDefFoundError: Demo02 (wrong name: xg/myc/Demo02)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(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:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Demo02.  Program will exit.

加不加package xg.myc;javac没问题,但是加上package xg.myc;后运行出现以上错误???????
晕了
作者: 匿名    时间: 2011-8-25 09:49
加上包名的类之后类的名称就是完整包名+类名了,以你的例子为现在类的名字就是xg.myc.Demo02,运行的时候要回到跟xg同级的目录下,即java xg.myc.Demo02这样就不会报错了

[quote]Exception in thread "main" java.lang.NoClassDefFoundError: Demo02 (wrong name: xg/myc/Demo02)
[/quote]

其实报错的地方提示了找不到类[quote](wrong name: xg/myc/Demo02)
[/quote],就是你的类现在不是叫Demo02的原因,而是xg.myc.Demo02
作者: 匿名    时间: 2011-8-25 17:18
那关于java命令行的编译运行和目录的关系的,你知道哦和常用的命令有那些呢,举例说明一下吧  
谢谢了
作者: 匿名    时间: 2011-8-25 20:54
命令还是javac编译,,java运行啊。。
如果.java中有package 名。。 那java/javac时  ,进入该package平级目录 ,再加上 包名.类名就好了
如d:\test\one\Test.java         而Test.java 的package为one
cmd中。。cd d:\test   回车
                        d:         回车  
                    javac one.Test.java  回车
                   java one.Test
作者: 匿名    时间: 2011-8-25 22:35
标题: 回复 藤椅 的帖子
最常用的就是javac和java命令了,其他的除了javadoc外我都没用过
作者: 匿名    时间: 2011-8-25 22:54
哦,明白了。谢谢楼上两位
作者: 匿名    时间: 2011-8-25 23:38
互相学习:handshake
作者: 匿名    时间: 2011-8-29 15:46
加上包名即可




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2