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

或许很多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中是两个东西,若没写,默认包,虚拟机会把所有的不写包名的类规整在一起组成默认包,默认包时不需要注意文件包结构






发布了30 篇原创文章 · 获赞 76 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/a1275302036/article/details/79277196