java:找不到主类:test / test。程序将会退出

时间:2013-01-14 10:49:42

标签: java class find main

我提供了一些源代码示例,我想测试一些函数。 不幸的是,我在执行程序时遇到了问题:

11:41:31 [linqus@ottsrvafq1 example]$ javac -g  test/test.java
11:41:52 [linqus@ottsrvafq1 example]$ java -classpath . test/test
Exception in thread "main" java.lang.NoClassDefFoundError: test/test (wrong name: test)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: test/test.  Program will exit.
11:42:57 [linqus@ottsrvafq1 example]$

我能做什么?

5 个答案:

答案 0 :(得分:4)

我对Java没有太多经验,但据我所知,您应该使用完全限定的Java类名来运行该文件:

// Assuming that the class is called "test" and is not in any package
java -classpath test test

// If "test" is actually in the package "test" :
java -classpath . test.test

答案 1 :(得分:1)

使用您需要使用的java命令运行类。而不是/

假设test是javac命令建议的名为test的包中的类。

E.g。

java -classpath . test.test

此外,您应该遵循Java命名约定并命名以大写字母开头的类。它应该是test.Test,以便更容易区分类和包

使用javac

时编译是正确的/应该使用

答案 2 :(得分:1)

您需要将其运行为:

java -classpath test test

第一个test是您的.class文件所在目录的名称。第二个test是您要运行的Java类的名称。通常你需要在这里指定完整的包名,但由于你的类在全局包中,所以只需在这里传递test即可。

答案 3 :(得分:0)

将代码读入IDE(eclipse,intellij,netbeans),它可能会突出显示问题。

您的代码似乎缺少一些简单的东西(即包名称)。

答案 4 :(得分:0)

可能是个案问题,您的班级名称因您的命令而异。 假设您的班级名称为Test,并且您在命令行中提供了test

http://javarevisited.blogspot.in/2011/06/noclassdeffounderror-exception-in.html