写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.61935230 - 无标题 - 技术宅


回应模式
No.61935230
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题 无名氏 2024-04-06(六)19:57:24 ID:MK1koCU [举报] [订阅] [只看PO] No.61935230 [回应] 管理
JAVA 文件运行问题,为什么直接在文件夹里运行 java xxx 行不通呢?








文件夹结构是这样的:AAA 目录下有个 bbb.java 文件,bbb.java 文件里开头有一句是package AAA

在 AAA 目录里执行 javac bbb.java 获得 bbb.class

在 AAA 目录下执行 java bbb 或者 java -cp . bbb 都无法运行 bbb 文件,这两个方法有同样的输出,输出都为 Error: Could not find or load main class AAA Caused by: java.lang.NoClassDefFoundError: AAA/bbb (wrong name: bbb)

但是如果在 AAA 目录的父目录里执行:java AAA.bbb 就能正常运行 bbb 且看到输入了,这是为什么???
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
( `д´)就不能学学动画版的萌豚,多看看动画片
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-04-06(六)20:24:40 ID:83YvGLK [举报] No.61935560 管理
jp
无标题 无名氏 2024-04-06(六)20:25:05 ID:MK1koCU (PO主) [举报] No.61935567 管理
>>No.61935560
错饼了|∀` )
无标题 无名氏 2024-04-06(六)21:13:05 ID:UGJr5em [举报] No.61936185 管理
非要在AAA目录下执行的话:
要么,去掉package AAA
要么java -cp ../ AAA.bbb
无标题 无名氏 2024-04-06(六)21:18:56 ID:CzzTJVo [举报] No.61936260 管理
因为Java(指java.exe)的代码就是这样写的啊( ゚∀。)
你都手动指定classpath了
无标题 无名氏 2024-04-06(六)21:39:30 ID:MK1koCU (PO主) [举报] No.61936549 管理
>>No.61936185
啊那个 package 那一行是可以去掉的啊?是创建了文件夹和文件夹里的文件后 vscode 自动加的,我还以为必须得有那一行呢。。
谢谢,是JAVA初学者哒
无标题 无名氏 2024-04-06(六)21:41:26 ID:MK1koCU (PO主) [举报] No.61936585 管理
>>No.61936260
哦哦谢谢,对JAVA不熟,刚接触。。
不过 exe 不是windows上可执行文件吗?如果不是windows那生成的可执行文件也被称作是exe吗?
无标题 无名氏 2024-04-06(六)21:59:38 ID:mPzvTJS [举报] No.61936835 管理
>>No.61936585
exe就是个文件后缀,java.exe是有这么个文件在jdk的( ´_っ`)

感觉po就跟刚接触电脑没多久的计算机专业大学生似的
无标题 无名氏 2024-04-06(六)22:42:07 ID:CzzTJVo [举报] No.61937463 管理
>>No.61936585
不要想那么多,我只是假定你用的是Windows,其他平台的可执行文件一般是没有后缀的,具体可以参考posix 文件系统标准( ゚∀。)

初学的话不要考虑那么多,编程语言本质上就是一套标准,这些都是在标准里面定义好的,你就当作不这样做一定会出错就是了

UP主: