在CMD下用java命令出现“找不到或无法加载主类”问题

写了简单的hello.java程序,在cmd命令行下用javachello.java命令编译没有问题,可以生成hello.class文件。但输入javahello命令后(... 写了简单的hello.java程序,在cmd命令行下用javac hello.java命令编译没有问题,可以生成hello.class文件。但输入java hello命令后(文件目录和命令目录一致),提示错误:“找不到或无法加载主类”。
public class hello{ public static void main(String[] args){ System.out.println("Hello World!"); }}
另外环境设置是这样的:
JAVA_HOME D:\Java\jdk1.0.8
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

求大大们告知究竟哪里出了问题。。。
展开
 我来答
开心的马六
推荐于2017-04-23 · TA获得超过473个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:203万
展开全部
package是hellojava吧?那如果在E:/Workspace/hellojava/src/hellojava这目录下运行,应该
这样写: java -cp ../ hellojava.hello
或者用绝对路径: java -cp E:/Workspace/hellojava/src hellojava.hello
追问
绝对路径的确运行的出来!
只是我还想知道原来那样写究竟哪里出了问题呢?
因为是新手,所以我想知道到底错在哪里,不然以后可能也会错...

是不是应该在java后面跟package名呢?
然后应该写成E:/Workspace/hellojava/src>java hellojava.hello 这样吗?
追答
是的,运行的时候要加上package的。
参数-cp(-classpath)的意思是 会在-cp指定的位置找你要运行的class文件,比如你这个:
java -cp E:/Workspace/hellojava/src hellojava.hello
hellojava.hello这个你可以看做是hellojava/hello.class,
所以它就会在E:/Workspace/hellojava/src/hellojava目录下找你这个hello.class文件了
通俗猫
2019-10-28 · TA获得超过601个赞
知道答主
回答量:116
采纳率:60%
帮助的人:15.9万
展开全部

有两种办法:

(1)把java类上的package去掉,直接运行命令java hello

//package com.tt.demo;//去掉

public class hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

(2)如果保留带有package的原代码不改,则在java目录下运行java命令。如

hello.java在我本地硬盘上目录: E:\myemo(项目名)\src\main\java\com\tt\demo 下

javac目录运行成功后,切换到目录E:\myemo(项目名)\src\main\java下,运行命令:

java com.tt.demo.hello

package com.tt.demo;

public class hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}


参考:java命令:java命令错误: 找不到或无法加载主类

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晁慧智S2
2014-03-28 · TA获得超过124个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:93.3万
展开全部
你是否在运行cmd之后才改的classpath环境变量?这样需要重启cmd的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jonia917
2014-03-28 · 知道合伙人互联网行家
Jonia917
知道合伙人互联网行家
采纳数:924 获赞数:2784
我毕业于一所普通的本科高校软件工程专业,学士学位。现在一家IT公司担任初级软件卡发工程师

向TA提问 私信TA
展开全部
对于class文件,应该是javac hello
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
644792799
2014-03-28 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:528万
展开全部
类名首字母最好大写Hello
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式