【发布时间】:2011-02-06 01:40:40
【问题描述】:
我有一个关于 javac 和 Java 包的快速问题。
我有一个简单的程序(我们称之为 Program.java),它目前位于以下目录中:
- myRepository/myProgram
在 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) 并能够在 myRepository 中执行 java Program?
【问题讨论】:
标签: java package javac noclassdeffounderror