您的位置:首页 > 编程语言 > Java开发

dos运行java类时遇到Could not find the main class问题

2016-07-18 15:09 615 查看
以前一直是在myeclipse中直接运行程序的,今天遇到一个程序需要用dos运行,结果一运行,炸了:

C:\software\MyEclipse 6.5\workspace\Socket\src\com\socket>java test

Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: com

/socket/test)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

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:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Could not find the main class: test. Program will exit.

在确定不是java环境变量配置问题的情况下,最后才知道是因为

C:\software\MyEclipse 6.5\workspace\Socket\src\com\socket>java test 是错的

正确的执行:

退回到包级目录并执行C:\software\MyEclipse 6.5\workspace\Socket\src>java com.socket.test

至此,运行成功!

ps:编译java文件时也最后在包级别目录进行(避免出现找不到符号错误):javac com\socket\test.java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: