我已经阅读了以前发布的问题。有些含糊不清,没有一个解决我的问题,所以我不得不再问一次。
我有两个简单的课程,
package One; import One.Inner.MyFrame; public class test { public static void main(String args[]) { MyFrame f= new MyFrame(); } }
另一类是
package One.Inner; import java.awt.*; import javax.swing.*; public class MyFrame extends JFrame { public MyFrame() { setPreferredSize(new Dimension(400,560)); setVisible(true); } }
我在Windows cmd中的基本文件夹“ basic”中。我用编译
basic> javac *.java -d .
将创建一个文件夹和子文件夹。
cd One basic\One> java test
这会产生大量错误。许多答案旨在指定无效的完整路径。我的班级在One中,因此使用-cp指定One也不起作用。
您将其运行为:
java One.Test
…但是从 根 目录(basic), 不是 从One目录中。您始终指定 标准的 类名。
basic
One
哦,Java中的软件包名称应该是小写字母,因此应该是oneand one.inner,而不是Oneand One.Inner。只是一个约定,但几乎每个人都遵循。
one
one.inner
One.Inner