gpt4 book ai didi

java - 线程 "main"java.lang.NoClassDefFoundError : Huffman (wrong name: p3/Huffman) 中出现异常

转载 作者:行者123 更新时间:2023-12-02 05:35:48 24 4
gpt4 key购买 nike

我不知道如何解决这个问题,但我认为这是一个类路径错误。如果这是我的文件结构,我需要知道在哪里运行以下命令:

monas-mbp:p3 mona$ java Huffman c p3code.txt p3input.txt p3output.tx
Exception in thread "main" java.lang.NoClassDefFoundError: Huffman (wrong name: p3/Huffman)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
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)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

嗯,我已经使用

将 Huffman.class 从以下路径实际复制到了当前目录 /Users/mona/java/p3/src/p3
cp /Users/mona/java/p3/bin/p3/Huffman.class Huffman.class

这就是我在 Eclipse 中的内容。我创建了项目 p3,然后它自动创建了包 p3,而之前它用于创建默认包。 enter image description here

知道解决办法是什么吗?另外为什么它没有像往常一样自动创建默认包

[更新]嗯,我没想到会收到如此令人困惑的答案,特别是因为项目名称和自动包名称都是 p3。您能更详细地说明您的答案吗?这是我电脑上 Eclipse 创建的结构: enter image description here

此外,当我在 bin/p3 中运行命令时,我得到以下结果:

monas-mbp:p3 mona$ pwd
/Users/mona/java/p3/bin/p3
monas-mbp:p3 mona$ java Huffman c p3code.txt p3input.txt p3output.tx
Exception in thread "main" java.lang.NoClassDefFoundError: Huffman (wrong name: p3/Huffman)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
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)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

最佳答案

I already copied the Huffman.class from the following path actually to the current directory which is /Users/mona/java/p3/src/p3 using

cp /Users/mona/java/p3/bin/p3/Huffman.class Huffman.class

现在从 p3 的父目录执行 java,而不是从 p3 执行 java,如果您已将其复制到当前目录,则执行以下命令集

 mkdir p3
mv Huffman.class p3/
java p3.Huffman c p3code.txt p3input.txt p3output.tx

so结构应该相对于当前目录

p3
\
|
|
------Huffman.class

<子>注意:您正在使用 eclipse 编写代码,为什么不从它启动

关于java - 线程 "main"java.lang.NoClassDefFoundError : Huffman (wrong name: p3/Huffman) 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988576/

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