我有一个关于 Java 中的 javac 和包的快速问题。
我有一个简单的程序(我们称之为 Program.java),它当前位于以下目录中:
- 我的存储库/我的程序
在 myRepository/myProgram 目录中的 Program.java 和其他 .java 文件中,我已声明package myProgram.*
并包含import myProgram.*;
.
所以当我输入时javac myProgram/Program.java
,它编译得很好,如果我输入它运行得很好java myProgram/Program
。
但是,我试图在myRepository
目录中生成 .class 文件,myRepository/myProgram
而不是在源文件所在的目录中。我尝试javac myProgram/Program.java -d ..
在 myRepository 目录中生成 .class 文件,但是当我尝试“java Program”时,它给了我以下错误:
线程“主”java.lang.NoClassDefFoundError 中的异常:程序(错误名称:myProgram/Program)。
有什么方法可以让 .class 文件显示在主目录 (myRepository) 中,而不是源代码所在的位置 (myRepository/myProgram) 并能够java Program
在 myRepository 中执行?