我有这样的目录结构:
./
+-- myClass
| +-- MainClass.class
|
+-- dummy
+-- DummyClass.class
MainClass 包含 public static void main(String args[])
并导入 dummy.DummyClass。
我使用像 javac myClass/MainClass.java dummy/DummyClass.java
这样的简单命令进行编译,一切都很好。但是当我尝试使用 java myClass.MainClass
从 ./执行它时,我收到“找不到主类”错误。
如果我使用 -cp 选项更改类路径,则 MainClass 无法再找到 DummyClass。
有什么提示吗?
非常感谢;)
最佳答案
MainClass
顶部是否有这个:package myClass;
?
这对于将类视为包 myClass
的一部分来说是必要的,只有这样它才能被正确地寻址为 myClass.MainClass
- 目录结构必须镜像包结构。
关于java - 如何从父目录执行Java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4802865/