gpt4 book ai didi

Java包运行时错误

转载 作者:行者123 更新时间:2023-12-02 03:47:25 25 4
gpt4 key购买 nike

我是java新手。我通过 Ubuntu 终端运行 java 程序我刚刚开始java包主题,已经处理一个问题几个小时了。我尝试创建一个名为 pack 的简单包,它有一个 Hello 类。我创建了一个目录包。在包内,我通过

将 Hello.class 文件放入 intp pack 目录中
javac -d ./pack Hello.java

命令。然后我将 pack 包包含到包含 main 方法的类中。该类的名称是 test,它位于 test.java 文件中。该类位于另一个目录中。我通过编译

javac -cp ./pack test.java

编译没有任何错误,一切正常。但是,当我输入命令

java -cp ./pack test

它给了我

Error: Could not find or load main class test

当我尝试时

java test

命令。出现以下消息

Exception in thread "main" java.lang.NoClassDefFoundError: pack/Hello
at test.main(test.java:6)
Caused by: java.lang.ClassNotFoundException: pack.Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more

有人可以解释一下我做错了什么吗?非常感谢任何帮助。

抱歉,我的机器人包含了我的源代码。他们在这里。

import pack.Hello;
public class test
{
public static void main(String args[])
{
Hello.HelloMessage();
}
}

这是 test.java 文件,用于测试一切是否正常。它位于

/home/uesername/apps

目录。

然后我创建了“pack”目录。包目录的完整路径是

home/username/apps/pack

在“pack”内我放置了Hello.java 文件。 Hello.java文件的内容是

package pack;
public class Hello
{
public static void HelloMessage()
{
System.out.println("hello, world");
}
}

最佳答案

首先,我建议您使用IDE来设置编译、运行和调试的环境。

您遇到的问题是您使用了错误的路径进行编译。

javac -cp . pack/Hello.java
javac -cp . pack/test.java

java -cp . pack.Hello

java -cp . pack.test

问题是您在目录 pack 中编译了一个带有包 pack 的类,最终会得到

pack/pack/Hello.class

建议您检查Hello.class文件的放置位置。

关于Java包运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36173719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com