我正在尝试执行Test.class
Test.java的代码
package pkg;  
public class Test {        
  public static void main(String args[]) {        
    System.out.println("This is a test");  
  }        
}  我使用javac -d . Test.java编译了Test.java,之后创建了"pkg“目录。然后我做了以下事情
cd pkg
java Test
在这一点上,我得到以下错误消息。
C:\Users\varung\J\pkg>java Test
Exception in thread "main" java.lang.NoClassDefFoundError: Test (wrong name: pkg
/Test)
at java.lang.ClassLoader.defineClass1(Native Method)
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$100(Unknown Source)
at java.net.URLClassLoader$1.run(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)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)有人能帮帮忙吗?
发布于 2013-08-15 12:34:45
试着这样做:
javac -d . Test.java
java pkg.Testjava命令将fully qualified类名作为其主要参数。Java语言中的完全限定名包括包声明(类的完全限定名是pkg.Test)。
由于java还需要包的正确目录结构,因此必须从编译源代码的目录执行命令,在本例中为.。
https://stackoverflow.com/questions/18246354
复制相似问题