我不确定如何解决此问题,但我认为这是一个类路径错误。如果这是我的文件结构,我需要知道在哪里运行以下命令:
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,而之前它曾用于创建default package
。
知道解决办法吗?还有为什么它没有default package
像往常一样自动创建呢?
[UPDATE]好吧,我没想到会收到这样令人困惑的答案,特别是因为项目名称和自动包名称均为p3。您能否详细说明您的答案?这是Eclipse在我的计算机中创建的结构:
另外,当我在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)
我已经使用以下路径将Huffman.class实际上复制到了使用/ Users / mona / java / p3 / src / p3的当前目录中
cp /Users/mona/java/p3/bin/p3/Huffman.class Huffman.class
现在从父目录(p3
而不是from)执行java p3
,如果您已将其复制到当前目录,则执行以下命令集
mkdir p3
mv Huffman.class p3/
java p3.Huffman c p3code.txt p3input.txt p3output.tx
所以结构应该相对于当前目录
p3
\
|
|
------Huffman.class
注意:您正在使用eclipse编写代码,为什么不也从中启动
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句