[英]“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.