java - Java 中的包

标签 java package

这是我第一次在Java中使用包,我不知道我哪里出错了。我正在尝试制作俄罗斯方 block 游戏。这是我的代码的一部分:

package mytetris;

import javax.swing.*;
import java.awt.*;

public class Tetris extends JFrame {

    // class constructor
    public Tetris() {
        super("Tetris");
        this.setSize(400, 600);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        // just started, haven't really done anything

        this.setVisible(true);
    }

    public static void main(String[] args) {
        Tetris myTetris = new Tetris();
    }
}

然后我使用 javac Tetris.java 编译它,然后我尝试使用 java Tetris 运行它,这是终端给我的:

Exception in thread "main" java.lang.NoClassDefFoundError: Tetris (wrong name: mytetris/Tetris)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

最佳答案

假设您的文件位于/home/mytetris/Tetris.java

然后您需要在目录 home 中运行“java mytetris.Tetris”。

因为你指定了包mytetris,所以它会去mytetris目录中查找你的文件,在那里它会找到类Tetris。

关于java - Java 中的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196120/

相关文章:

java - Grizzly 2.2.19 FilterChain 与 HttpHandler

java - Spring Boot restTemplate POST 请求 bad_certificate,但在 SOAPUI 和 Postman 中有效

java - 无法在 Eclipse 中运行/调试 Java 应用程序(JavaTimeZone 问题)

java - 使用 JSON 模式在 Java 中创建和序列化数据

java - 如何使用 Jackson ObjectMapper 反序列化 Spring 的 ResponseEntity (可能使用 @JsonCreator 和 Jackson mixins)

python - Python导入包,属性报错

package - 在不安装 Dr Racket 的情况下安装 Racket 软件包

javascript - Vuejs - npm 版本补丁 - git 工作目录不干净

Java JSON包导入失败

delphi - 如何更改依赖项的文件扩展名