我在eclipse能运行的java程序为什么在dos下运行出错?

我在eclipse下建立了一个project命名为test,test工程下建立了一个包test,包test下面建立了一个class命名为Hello.运行成功。代码非常简单,如下:
package test;
public class Hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello!");
}
}
该文件所在的目录为E:\code\code\my_java_project\test\test
1.现在我运行cmd进入dos,进入文件所在目录E:\code\code\my_java_project\test\test
2.运行javac Hello.java,正确生成Hello.class
3.按照网上查到的方法,运行java Hello(为什么是java Hello我不知道为什么),出错(Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: test/Hello))。
第3步为什么出错?我想是与我新建的包有关。从前面的情况看我的环境变量设置应该没问题。
lihai200816,我按你说的这样,还是出现下面的错误,是为什么?
E:\code\code\my_java_project\test\test>java test.Hello
Exception in thread "main" java.lang.NoClassDefFoundError: test/Hello
问题解决:
E:\code\code\my_java_project\test\test>cd ..
E:\code\code\my_java_project\test>java test.Hello
还有个小问题,java test.Hello这个命令是什么意思?test.Hello是什么?是Hello.java吗?

test是你为包取的名字(package test 这里你已经为你的类打上包了),你在eclipse下运行,它会自动给你加上的包名运行的,而你在DOS下运行必需你自已加上包名再运行,而且生成的class文件必须在包的那个目录下才能运行,比较麻烦
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-16
你这里有设置包 所以你在dos平台下编译的时候要用
javac -d . Hello.java
的形式,这样会生成相应包,并且将编译好的类放到
包中,然后将dos当前路径指向这个新生成的包,在运行
java Hello就可以了
第2个回答  2008-12-16
必须class文件的最上层包的父目录位于classpath下,执行要写全包名。
建议有eclipse就在eclipse下运行,在dos下总会遇到问题的,而且遇到的问题也不单一,所以最好在eclipse下运行调试~~~
第3个回答  2008-12-16
需要加包名应该这样的test.Hello运行本回答被提问者采纳

程序在Eclipse中运行通过,在Dos环境下运行结果显示异常,求解?
这个是运行语句,要先编译 javac point.java 然后 java point

java同一个包中两个类之间的构造函数无法调用
你的代码在eclipse运行时正常的,但是放到dos下javac java就麻烦一点了。你看 package bean;表示*.class应该在文件夹bean里面,因此,在dos中:javac DBConnect.java 然后在DBConnect.java所在目录中新建一个bean文件夹,并把DBConnect.class文件剪切到这个bean文件夹里,接下来javac UserConnect.java ...

...javac都成功,但是在用eclipse写完程序后在dos运行找不到文件?_百度...
javac 编译文件时要在文件的目录下使用,比如文件.java 放在D:\\java下,先使用cd 命令进到 D:\\java 目录下,再使用javac java等命令

同一段代码在Eclipse下编译出错但是用cmd能正常编译运行
那请问你在cmd下是怎么运行的?你应给在java DosPromptInputData 后面应该还有参数吧,否则args[0],args[1]怎么会有值?但是你在eclipse下运行的时候给参数了么?不给的话args[0]当然是数组越界了

java为什么运行出错?
1、检查jvm(java命令)和jdk(javac命令)版本是否一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。2、如果都一致,但还是解决不了问题,那么肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans这样的编译器来编译的。因为很多编译...

Eclipse编写Java程序时新建class后,第一行都出现“package chapter2...
第一行都出现“package chapter2;是因为你在 chapter2 包下面新建的java程序吧...

...才能显示在dos黑窗口中,而不是显示在eclipse下面
建立一个快捷方式,用CMD命令编译再运行,或者你自己写一个这样的插件也可以。但是没必要了。

安装的eclipse打开不了,还有dos下运行Java程序也运行不了 怎么回事_百 ...
1.jdk就是java运行的环境,没有这个java是运行不了的,eclipse也打不开(eclipse不要放在中文路径下,否则也会导致eclipse打不开)2.cmd窗口运行需要配置环境变量 方法如下:1.运行 jdk1.7 安装文件,装到用户指定的位置 2.打开计算机属性配置环境变量 a.计算机--->属性--->高级属性--->环境变量 ...

使用NetBeans,JBuilder、Eclipse这些编写Java程序后,编译运行时是不是...
不是 这种编程环境有自带的运行窗口 每个编译环境都有自己的编译器 dos下面运行的只是编译环境中的编译器而已 之后再window中运行 界面就是dos界面 现在建议你就是用记事本写 写完之后该后缀名 然后用dos编译运行 新手用编译环境 刚开始是块 但是很容易养成坏习惯或者对某种编译环境产生依赖 ...

...出现这样的对话框怎么回事?可以在DOS下运行JAVA。。环境变量应该没问...
jdk为自己的版本)Path是 %JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin(可以新建一个也可以在原先的后面添加)CLASSPATH是 .;%JAVA_HOME%\\lib;%JAVA_HOME%\\jre\\lib;%JAVA_HOME%lib\\tools.jar;%JAVA_HOME%lib\\dt.jar 其次看下,jdk版本(64位或者32位)是否和系统,Eclipser一致;...

相似回答