这是我第一次发帖 - 我发现了类似的问题但没有直接涉及这个问题。这听起来很简单,但我不太清楚为什么会这样。我的程序在Eclipse中运行得很漂亮,但不是从命令行运行。我在 simpletree 包中有几个类。
这是 BinaryTree.java :
package simpletree;
import java.io.*;
public class BinaryTree implements Serializable {
// Automatically generated UID
private static final long serialVersionUID = -3124224583476129954L;
BinaryTree leftNode; // left node
BinaryTree rightNode; // right node
// some code
}
class Tree implements Serializable {
private static final long serialVersionUID = 6591795896216994405L;
private BinaryTree root;
// some code
}
Program1Test.java :
package simpletree;
public class Program1Test {
public static void main(String[] args) {
Tree tree = new Tree();
// some code
}
}
以下是问题:从 simpletree 内部执行此操作可以很好地编译:
javac BinaryTree.java Program1Test.java
当我这样做时:
java Program1Test
我明白了:
Exception in thread "main" java.lang.NoClassDefFoundError: Program1Test (wrong n
ame: simpletree/Program1Test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
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$000(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)
Could not find the main class: Program1Test. Program will exit.
有什么想法吗?我正确设置了类路径,并且我尝试使用包(simpletree.Program1Test)运行而没有。
答案 0 :(得分:4)
你需要
java simpletree.Program1Test
来自simpletree
以上的目录
还可以使用-cp
答案 1 :(得分:2)
使用此命令行:
java simpletree.Program1Test