簡體   English   中英

“無法找到主類”

[英]“Could not find the main class”

我正在嘗試從命令提示符運行示例 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 工具鏈目前完全讓我感到困惑。 The exception indicates that the class HelloWorldDesktop couldn't be found, but as far as I can tell I've got the correct name and I've added the correct.jar files to the class path and so Java should be able to load this class。

為什么找不到HelloWorldDesktop

對 - 問題是您在當前目錄中有HelloWorldDesktop.class ,而它應該在 com/badlogic/gdx/helloworld

您可以使用 javac 命令修復此問題 - 只需使用-d. 告訴它治療“。” 作為 output 的 package 根目錄。

通常,您希望通過 package 組織您的源代碼,但是對於這個“hello world”測試,它可能不值得。

好的,首先你需要編譯然后使用兩個不同的工具運行應用程序

步驟1:javac.exe,它將.java文件編譯成.class文件。 示例:javac.exe ProgramFolder\*.java(其中 ProgramFolder = 文件系統目錄)

然后

第 2 步:java.exe 並將您要運行的應用程序(包括路徑)作為參數提供,但不要使用“\”作為文件夾,而是使用“。” 和您的 class 的名稱示例:ProgramFolder.ClassProgram

那可行。 if you try to run Java.exe ProgramFolder\Program.class or just ProgramFolder\Program or go into the folder where the class files are and only do Java.exe Program.class it will always give you the cannot find Main class error.

看看這張圖片的前兩行http://3.bp.blogspot.com/-FO4Hmg9LrI0/Td7FoSIi_XI/AAAAAAAAF6g/FVAiP0h8CSc/s1600/fiborial_java.PNG

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM