用IDE创建一个JAVA类,用命令窗口,可以编译但是运行报错误

薄暮凉年 发布于 2015/04/13 16:39
阅读 410
收藏 0
package com.test.socket;

public class Server {
    public static void main(String[] args) throws Exception{
        System.out.println("helloworld");
    }

}

打开命令窗口

E:\workspace\socket\src\com\test\socket>javac Server.java

E:\workspace\socket\src\com\test\socket>java Server
Exception in thread "main" java.lang.NoClassDefFoundError: Server (wrong name: c
om/test/socket/Server)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Server.  Program will exit.


 编译通过 但是执行报错

注明jdk环境变量已配置好 如下

JAVA_HOME:D:\Java\jdk1.6.0_24

ClassPath:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%M2_HOME%\bin;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%M2_HOME%\bin;

在IDE里面编译执行没问题,但是在命令窗口编译通过执行报错,求解答,感激

下面是我workspace工作空间编译执行代码的存放位置

以下是问题补充:

@薄暮凉年: E:\workspace\socket\src\com\test\socket>javac -d.Server.java javac: 找不到文件: -d.Server.java 用法: javac <options> <source files> -help 用于列出可能的选项 E:\workspace\socket\src\com\test\socket>javac -d Server.java javac: 不是目录: Server.java 用法: javac <options> <source files> -help 用于列出可能的选项 E:\workspace\socket\src\com\test\socket> (2015/04/13 17:05)
加载中
0
OSC闲人
OSC闲人

java com/test/socket/Server

这样运行试试

薄暮凉年
薄暮凉年
回复 @成熟的毛毛虫 : 好的 太感谢你了!
OSC闲人
OSC闲人
回复 @李伊子 : -d<directory>指明类层次的根目录;可以百度一下资料 :)
薄暮凉年
薄暮凉年
回复 @成熟的毛毛虫 : 好了呢!太感谢你了,我想请教一下javac -d是做啥的,而且执行class的时候为啥不是com/test/socket/Server而是com.test.socket.Server呢!
OSC闲人
OSC闲人
回复 @李伊子 : -d空一格再打点再空一格
薄暮凉年
薄暮凉年
回复 @成熟的毛毛虫 : 你看看我文章的最后一行 是执行你给我代码的错误 你看看是不是我执行错了
下一页
0
薄暮凉年
薄暮凉年

引用来自“成熟的毛毛虫”的评论

java com/test/socket/Server

这样运行试试

我不会在开源中国设置最佳答案,我只找到了引用此答案,不知道能不能给你加积分!你的答案解决了我的问题,万分感谢

返回顶部
顶部