[英]No matter classpath designation execution of java application returns: “Error: Could not find or load main class”
前一個問題已關閉,指出它是一個重復的問題,但事實並非如此。 我已經搜索了幾個小時。 這不是類路徑錯誤的情況,也不是鍵入java someprogram.class而不是Java someprogram的情況,這不是Linux語法錯誤的情況,堆棧溢出問題沒有其他問題解決了我的問題。
從昨天開始,我一直在嘗試各種方法。 我正在嘗試從Linux Mint的終端運行Java應用程序。 我認為這可能與兩個不同的Java安裝有關。
我開始使用JDK 7和舊的Eclipse構建進行教程,但必須同時將Javafx升級到JDK 8和Eclipse 4.4.4,然后從使用Java文件夾轉到Java2文件夾。 Java文件夾中的所有內容都將從終端運行,但是Java2文件夾中的任何內容都不會。
錯誤歸結為:
這有效:
dalsgaard@dalsgaard $ pwd
/home/dalsgaard/Skrivebord/Java/tutorials/bin
dalsgaard@dalsgaard $ java Welcome
Hej med dig!
這不是:
dalsgaard@dalsgaard $ pwd
/home/dalsgaard/Skrivebord/Java2/tutorials/bin/application
dalsgaard@dalsgaard $ java helloWorld
Error: Could not find or load main class helloWorld
這也不起作用:
dalsgaard@dalsgaard $ java -cp /home/dalsgaard/Skrivebord/Java2/tutorials/bin/application/ helloWorld`
Error: Could not find or load main class helloWorld
這也不是:
dalsgaard@dalsgaard $ java -cp . helloWorld`
Error: Could not find or load main class helloWorld
我嘗試使用-cp modfier,現在將classpath設置為10億個不同的目錄(使用export $ CLASSPATH),這使我無所適從。 如您所見,我有一個主班:
package application;
public class helloWorld {
public static void main(String[] args) {
System.out.println("Hello StackOverflow!");
}
}
我嘗試了以下方法:
dalsgaard@dalsgaard $ javapackager -createjar -appclass application.TicTacToeRandom -outdir . -outfile outjar -srcdir . -v
dalsgaard@dalsgaard $ java -jar outjar.jar
Error: Could not find or load main class Application.TicTacToeRandom
dalsgaard@dalsgaard $
它編譯沒有問題(那么如何將classpath變成問題?),javapackager會找到所有正確的文件! Java版本,Linux版本等:
dalsgaard@dalsgaard $ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
dalsgaard@dalsgaard $ uname -a
Linux dalsgaard 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
在大多數情況下,您要么沒有為主類提供程序包名稱,要么在以下情況下沒有通過-cp提供正確的類路徑,這兩種情況都是不正確的。
dalsgaard@dalsgaard $ pwd
/home/dalsgaard/Skrivebord/Java2/tutorials/bin/application
dalsgaard@dalsgaard $ java helloWorld
Error: Could not find or load main class helloWorld
應該是(pwd和java命令返回的注意路徑):
dalsgaard@dalsgaard $ pwd
/home/dalsgaard/Skrivebord/Java2/tutorials/bin/
dalsgaard@dalsgaard $ java application.helloWorld
Java類必須存儲在與類本身相同的文件中。 另外,不允許在類名中包含空格字符。 參見例如http://docstore.mik.ua/orelly/java-ent/jnut/ch07_01.htm
例如,在以下代碼段中,您已在命令行中添加了空格字符:
dalsgaard@dalsgaard $ java -cp /home/dalsgaard/Skrivebord/Java2/tutorials/bin/application/ helloWorld`
Error: Could not find or load main class helloWorld
當創建jar時,您使用的文件名不正確。 應該是helloWorld.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.