我已阅读之前发布的问题。有些含糊不清,没有一个能解决我的问题,所以我不得不再次询问。
我有两个简单的类,
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
这会产生大量错误。许多答案指向指定不起作用的完整路径。 我的类(class)在 One 中,因此使用 -cp 指定 One 也不起作用。
最佳答案
你可以这样运行它:
java One.Test
...但来自 root 目录(basic
),不是来自 One
目录。您始终指定完全限定的类名。
哦,Java 中的包名应该是小写的,所以应该是 one
和 one.inner
,而不是 One
和One.Inner
。只是一个约定,但几乎每个人都遵循。
关于java - 从命令行运行包中的java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19433366/