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
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
相关文章推荐
- Spring注解@Scope("prototype")
- SpringMVC结合ajaxfileupload.js实现异步上传文件
- Spring-----多环境中加载资源配置文件
- java学习之Dialog与FileDialog类
- 【奔跑的菜鸟】Java中的多态
- Java IO
- Eclipse中运行MapReduce程序控制台无调试信息-log4j
- java开发环境搭建
- Eclipse快捷键
- Maven(二)——eclipse使用Maven创建(Java和Android)项目
- 在JSP中使用JavaBean
- JavaBean
- JAVA操作properties文件
- java项目导入与导出
- Java配置及软件下载
- Java中获取明天或者昨天的日期的方法
- java学习之container
- 命令行运行java程序*.jar包
- java实现将结果集封装到List中的方法
- spring TaskExecutor