当前位置: 首页 > 面试题库 >

如何运行cmd软件包中的.class文件?

壤驷高洁
2023-03-14
问题内容

当我将其.class作为a的一部分package并尝试从cmd运行它时,我不断收到错误消息。

这是先使用后再使用javacjava 的代码:

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

然后无效的代码:

package com;

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

在尝试通过命令运行程序后给了我这个错误java HelloWorld

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong nam
e: com/HelloWorld)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

到目前为止,这是我尝试过的操作:

java -cp . HelloWorld
java -cp . com.HelloWorld
java -cp . com/HelloWorld
java HelloWorld
java com.HelloWorld
java com/HelloWorld

请记住,javac返回没有错误,只需删除即可package com;解决问题。有时在其他情况下,我会收到一条错误消息,提示找不到主类文件或类似的内容。

我究竟做错了什么?


问题答案:

假设您在中,cd C:/projects并且HelloWorld.class在中C:/projects/com,然后键入:

java com.HelloWorld


 类似资料:
  • 我的两门课是这样的: 和 我无法使用编译这两个文件,错误是: a、 java:4:找不到symbol symbol:B类位置:p.a类 B类B=新B(“哈哈”) ^ a.java:4:找不到符号 符号:B类 位置:p.a类 B类=新B(“哈哈”) ^ 2个错误 移除

  • 问题内容: 我正在尝试从命令行运行.class文件。当我手动移动到存储目录时,它会起作用,但是当我尝试这样的操作时: 它说找不到主班。除了制作.jar文件(我知道.jar是最好的解决方案,但现在不是我正在寻找的解决方案)之外,还有其他解决方案吗? 问题答案: 在Java应用程序启动(又名或干脆)预计最多支持四个不同的方式来指定要启动(取决于Java版本使用)的东西。 指定 类名 是最基本的方法。注

  • 问题内容: 大家好。我正在为一个学校项目工作,在该项目中,我们获得了.class文件,但没有提供包含在我们代码中的源代码。我正在使用Eclipse,并且希望将文件包含在我的项目中,以便可以从中实例化对象并使用它。 该文件是TokenizerImpl.class,我想这样使用它: 我将文件放在项目文件夹中,Eclipse表示“ TokenizeImpl无法解析为类型”,我认为这意味着它找不到类或源。

  • 问题内容: 我在src /下的子目录下有多个软件包,使用每个软件包运行测试都可以正常工作。 尝试运行所有测试时,所有测试都在运行,但失败。 这些测试是针对本地数据库服务器运行的,每个测试文件都有带有db指针的全局变量。 我尝试运行测试以防止在数据库中争用,但是测试仍然失败。 这里有什么问题? 编辑:某些测试在缺少数据库条目上失败,我在每次测试之前和之后都彻底清除了数据库。我能想到发生这种情况的唯一

  • 问题内容: 如何在中使用模块的本地版本。例如,在我的应用中,我安装了coffee-script: 这会将其安装在中,coffee命令在中。当我在项目的主文件夹中时,是否可以运行此命令?我想我正在寻找类似于捆扎机中的东西。基本上,我想指定一个咖啡脚本的版本,参与该项目的每个人都应该使用。 我知道我可以添加该标志以在全球范围内安装它,这样咖啡在任何地方都可以正常工作,但是如果我想每个项目使用不同版本的

  • 问题内容: 我一直在使用 buildroot 以便使用 uclibc 构建工具链。现在, buildroot 下载所有软件包,解压缩并构建所有软件包。 我想更改工具链的 uclibc 源,然后用新的源重新编译工具链,但我只是不明白如何用漂亮的方式完成它。 完成构建后,可以在“ < buildroot-src> / output / build ” 中找到所有提取的源。但是更改它们不会给我任何帮助,