命令行运行java代码: 找不到或无法加载主类


前言

今天准备写一个小demo,用命令行进行编译Java程序,命令窗口提示"找不到或无法加载主类",记录一下这个错误。

一、如何用命令行运行Java代码?

Java是一种解释型语言,我们写好的Java代码需要事先编译成.class文件后(即字节码)才可以在Java解释器中运行,故命令行运行Java代码大致分为两个步骤:①javac编译.java文件,生成.class文件;②java命令运行.class文件,执行我们编写好的Java程序。
这个步骤现在主流的ide如eclipse、idea、MyEclipse等都可以在运行时自动执行。

二、遇到的问题

1.我遇到的问题

  • 首先总结一下我遇到的问题,问题大致如下:在使用java命令时,由于是利用tab键自动补齐的,所以将文件扩展名也带出,这时我们看到的是想要执行 java ScannerDemo.class 这条命令, 这其实没问题,但实际上这条命令是: java ScannerDemo.class.class, 所以就提示: 找不到或无法加载主类
    在这里插入图片描述
  • 可以看到将命令结尾的".class"删除后就可以进入我编写的程序中了:
    在这里插入图片描述

2.查阅资料后总结一下其他可能的原因

  • 如果按照上述操作进行修改无果,可以检查下自己的环境变量是否配置正确,CLASSPATH是否正确:

    .;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

    其中".“在这种问题中比较重要,它代表的是"当前目录”,如果配置CLASSPATH时没有加上"."的话就容易报"找不到或无法加载主类"这个错误。
    在这里插入图片描述

  • 如果在java文件中添加了package, 那么在执行java命令时需要使用"包名.类名"的形式进行.class文件的执行, 如:
    在这里插入图片描述

    这时应该新建文件夹com, 再在com文件夹中新建demo文件夹,把.java文件放到demo中,在命令行中执行如下命令:
    在这里插入图片描述
    采用"包名.类名"的方式,就可以解决"找不到或无法加载主类"的问题了。


总结

以上就是今天要总结的内容,本文仅仅简单介绍了命令行运行Java代码的一些注意点,但并不全面,欢迎一起交流;如有错误,也欢迎指出,虚心请教。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值