当java类文件不带包名时,能编译并运行,但一旦加了包名,能编译过去,却不能运行,提示“找不到主文件”,如下图:
你需要在src目录下运行javacom.filter.Ha
回复<aclass='referer'target='_blank'>@zerov:编译好的javaclass就是以目录确定包结构,你将类放入了某个包中,对应编译出来的class就要放到相应的目录结构中。是你自己编译的不对没用,不信你试试
这个就设计到很多东西了,这么说,你编译之后一般都是在同目录下生产了Ha.class
但如果有包,那就需要编译之后Ha.class要和包有相同的文件夹,比如packagem.n
那就需要有文件夹m 还有子文件夹n,在n下再有Ha.class
同时运行的时候,要在classpath处运行,就是比如我有个文件夹 E:\java
下面有Ha.java,编译之后就在E:\java\m\n\Ha.class
然后在E:\java这个目录去运行Ha.class
javam.n.Ha
这样就可以运行了
你把你的代码贴出来可以么
这个是你自己操作有问题,既然有package那一句,那就应该是在对应的目录下面,而你那样进行编译,肯定就不行了啊,赞同楼上的说法。
还有顺便说一下,一开始问问题的时候就应该把代码给出来,要不然别人摸不着头脑
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。