开发者社区> 问答> 正文

带包名的java类编译时报错??报错

 当java类文件不带包名时,能编译并运行,但一旦加了包名,能编译过去,却不能运行,提示“找不到主文件”,如下图:

展开
收起
爱吃鱼的程序员 2020-06-08 21:23:36 662 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你需要在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

    这样就可以运行了

    你把你的代码贴出来可以么


    回复<aclass='referer'target='_blank'>@zerov:就是按照留下说的运行代码如下,删除包名能运行://packagecom.filter;//此行只有删除才能DOS命令行下编译成功classHa{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}

    这个是你自己操作有问题,既然有package那一句,那就应该是在对应的目录下面,而你那样进行编译,肯定就不行了啊,赞同楼上的说法。

    还有顺便说一下,一开始问问题的时候就应该把代码给出来,要不然别人摸不着头脑

    2020-06-08 21:23:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载