【发布时间】:2011-07-12 10:19:27
【问题描述】:
我正在尝试从命令提示符运行示例 Java 应用程序,但出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/badlogic/gdx/helloworld/HelloWorldDesktop
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.helloworld.HelloWorldDesktop
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.badlogic.gdx.helloworld.HelloWorldDesktop. Program will exit.
我用来尝试运行这个应用程序的命令是:
java -cp .;gdx.jar;gdx-backend-jogl.jar com.badlogic.gdx.helloworld.HelloWorldDesktop
所有相关文件都在当前工作目录中(.java、.class 和 .jar 文件)
我用来构建.class文件的命令如下(有2个.java文件):
javac -cp gdx.jar;gdx-backend-jogl.jar HelloWorld.java HelloWorldDesktop.java
再次从同一个工作目录运行 - HelloWorldDesktop.java 的内容是(或多或少):
package com.badlogic.gdx.helloworld;
public class HelloWorldDesktop {
public static void main (String[] argv) {
// Application
}
}
作为一名 C# 开发人员,我正在尝试学习 Java,因此,尽管我在编程概念方面拥有深厚的背景,但整个 Java 工具链目前完全让我感到困惑。异常表明找不到类HelloWorldDesktop,但据我所知,我有正确的名称,并且已将正确的.jar 文件添加到类路径中,因此Java 应该能够加载这个类。
为什么找不到HelloWorldDesktop?
【问题讨论】:
标签: java classpath classnotfoundexception