CMD运行Intellij Idea编译后的class文件操作
或许很多Java初学者都会用javac、java命令运行程序,运行过几次后就转向开发工具。我本人也是这样,很久没有用命令行去执行java文件了,现在都是用Eclipse、IntellijIdea等编译工具直接编译运行。
昨天开始学习《算法》,里面很多代码都用到了命令行重定向文件实现输入输出,所以昨天用命令去执行class文件时碰到了一个NoClassDeFoundError异常,网上说的也很杂,看得"一头雾水",其实还是基础不好,搞清楚原理很多问题就迎刃而解了。
Idea编译后java文件和class文件不在同一个目录(后来发现和这没关系)
重新建一些目录测试
然后cmd进入当前目录,javac编译生成class文件,然后复制到out\com\test目录
然后进入该目录(模拟Idea目录),javaHelloWorld运行报错
查了很多资料,发现只要在包的上一层目录(src)或者在任意目录添加classpath都可以运行
方法一:
方法二:
终于成功运行了,可以愉快地玩代码了...
知识点:
包是Java中为了解决命名冲突而设置的,一个程序写了包和没写在JVM中是两个东西,若没写,默认包,虚拟机会把所有的不写包名的类规整在一起组成默认包,默认包时不需要注意文件包结构
补充:idea项目编译后没有class文件
问题
idea项目突然无法运行,提示找不到某个类。查看了编译输出目录out,发现没有class文件。
尝试解决
尝试删除out、重新导入项目、在gradle面板点击刷新,都没能解决问题。
问题解决
最后,点击Build->RebuildProject解决。不明原因,先做下记录。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。