JAVA学习历程,第一个程序"helloworld!"通过命令javac编译没错,执行java命令却显示找不到或无法加载主类

在这里插入图片描述
如图,我的代码文件是放在这样一个路径下的,classpath的值也加入了“.”这一级路径,程序编写按照书上给的源码打的,在开发工具里debug没有问题,javac命令也通过了并在当前文件夹下生成了class文件。理论上说,应该就算没问题了才对,但是java命令执行错误。
查阅了好几个关于这个问题的帖子,大多都是classpath的路径有问题,直到看到一篇列出了可能出现这种问题的三种原因的帖子,其中一个是这样描述的:源文件中使用的自定义包 没有采用默认包 可以删除相关的package语句 使其成为默认的
然后我发现,我的开发工具用的是idea,在project创建的时候就已经自定义好了整个package,并且对于新手而言,难以对package动手,于是我继续查阅那篇博客,找到了关于不动package也能执行java命令的。
**如果你想用java解释器加载一个被自定义包组织起来的类。你必须在基目录(而不是class所在目录)的位置开始执行。而其中的相对路径要用.分隔符。**然后我看了一眼我的代码,是这样的:
在这里插入图片描述
接着,我做了这样的操作:
在这里插入图片描述
同时也尝试了在之前的路径下直接输入java com.company.Main,结果依然是“找不到或无法加载主类Main”。所以一定要回到基目录才行。具体的理论说明请到原贴查看https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/53940911

**补充:**默认package且路径正确的情况下,windows系统中javac命令不区分大小写就能执行,例如javac helloworld跟javac HelloWorld同样能编译通过;但java命令需要区分大小写,例如javac helloworld生成的class文件为HelloWorld.class,那么java helloworld也会显示“错误:“找不到或无法加载主类”,只能执行java HelloWorld才能正确显示!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值