繁体   English   中英

无法运行简单的世界

[英]Unable to run a simple hello world

我有这个简单的应用程序:

package default1;

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, World333!");
  }
}

编译并运行:

$ default1$ javac HelloWorld.java
$ default1$ java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: default1/HelloWorld)
  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)

而且这也不起作用:

$ default1$ java default1.HelloWorld
Error: Could not find or load main class default1.HelloWorld

如何解决? 我尝试做不同的事情,找不到修复它的方法。

javac和java命令关心目录结构; 包层次结构和目录结构需要相互对应。 在您的情况下,将目录更改为包含default1目录的目录,然后运行:

javac default1/HelloWorld.java
java default1.HelloWorld

尝试使包名称与主类的名称相同。

在这种情况下,您可以更改package default1; package helloworld;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM