java - 从命令行运行包中的java

标签 java command-line package classpath javac

我已阅读之前发布的问题。有些含糊不清,没有一个能解决我的问题,所以我不得不再次询问。

我有两个简单的类,

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 中的包名应该是小写的,所以应该是 oneone.inner,而不是 OneOne.Inner。只是一个约定,但几乎每个人都遵循。

关于java - 从命令行运行包中的java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19433366/

相关文章:

java - 防止下载的文件相互替换或覆盖

command-line - 如何通过 Clap 将所有命令行参数传递给另一个程序?

haskell - Windows 10 上的 ghci 错误 : user specified . o/.so/.DLL 无法加载(addDLL: pthread

java - 反射(reflection):如何在不求值的情况下得到一个字段的值?

java - 什么日志可以用来登录GWT共享代码?

Java 8 接口(interface)默认方法似乎没有声明属性

package - 以编程方式确定是否安装了 Racket 软件包

php - 使用 PHP 运行命令行命令

java - 如何在不暂停服务器的情况下使用Gradle命令行参数调试Spring Boot?

java - 未找到 java.nio 的最新添加内容;使用java 1.7.0_9