CMD运行Intellij Idea编译后的class文件操作

时间:2021-05-20

或许很多Java初学者都会用javac、java命令运行程序,运行过几次后就转向开发工具。我本人也是这样,很久没有用命令行去执行java文件了,现在都是用Eclipse、Intellij Idea等编译工具直接编译运行。

昨天开始学习《算法》,里面很多代码都用到了命令行重定向文件实现输入输出,所以昨天用命令去执行class文件时碰到了一个NoClassDeFoundError异常,网上说的也很杂,看得"一头雾水",其实还是基础不好,搞清楚原理很多问题就迎刃而解了。

Idea编译后java文件和class文件不在同一个目录(后来发现和这没关系)

重新建一些目录测试

然后cmd进入当前目录,javac编译生成class文件,然后复制到out\com\test目录

然后进入该目录(模拟Idea目录),java HelloWorld运行报错

查了很多资料,发现只要在包的上一层目录(src)或者在任意目录添加classpath都可以运行

方法一:

方法二:

终于成功运行了,可以愉快地玩代码了...

知识点:

包是Java中为了解决命名冲突而设置的,一个程序写了包和没写在JVM中是两个东西,若没写,默认包,虚拟机会把所有的不写包名的类规整在一起组成默认包,默认包时不需要注意文件包结构

补充:idea 项目编译后没有class文件

问题

idea项目突然无法运行,提示找不到某个类。查看了编译输出目录out,发现没有class文件。

尝试解决

尝试删除out、重新导入项目、在gradle面板点击刷新,都没能解决问题。

问题解决

最后,点击Build->Rebuild Project解决。不明原因,先做下记录。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章