精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

Java中無法加載主類如何解決-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)Java中無法加載主類如何解決,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

站在用戶的角度思考問題,與客戶深入溝通,找到坡頭網(wǎng)站設(shè)計與坡頭網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋坡頭地區(qū)。

示例程序


我們將從HelloWorld程序開始:

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

現(xiàn)在讓我們編譯它:

$ javac HelloWorld.java

在這里,編譯器將為我們的程序生成一個.class文件。此.class文件將在同一目錄中生成。class文件將與Java程序中給定的類名具有相同的名稱。這個.class文件是可執(zhí)行的。

在下面的部分中,我們將運行這個.class文件,并嘗試?yán)斫忮e誤“找不到或加載主類”的可能原因。

錯誤的類名

要運行Java編譯器生成的.class文件,可以使用以下命令:

java <.class filename>

運行我們的程序:

$ java helloworld
Error: Could not find or load main class helloworld

是的,它失敗了,錯誤是“Could not find or load main class helloworld”即找不到或加載主類helloworld。

如前所述,編譯器將生成.class文件,其名稱與程序中Java類的名稱完全相同。所以在我們的例子中,主類的名稱是HelloWorld,而不是helloworld,要區(qū)分大小寫。

讓我們用正確的方式再試一次:

$ java HelloWorld
Hello world..!!!

這次它成功地運行了。

文件擴展名
要編譯Java程序,必須提供文件名及其擴展名(.java):

$ javac HelloWorld.java

但是要運行.class文件,我們需要提供類名,而不是文件名。因此不需要提供.class擴展:

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

同樣,讓我們使用正確的類名運行程序:

$ java HelloWorld 
Hello world..!!!

Java包名稱

在Java中,我們將類似的類放在一起,稱之為包。

讓我們把HelloWorld類移到com.baeldung包:

package com.baeldung;

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

現(xiàn)在,讓我們像以前一樣編譯并運行更新的HelloWorld程序:

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

但我們再次得到錯誤“找不到或加載主類HelloWorld”!

讓我們試著理解我們錯過了什么。

要運行包中的Java類,必須提供其完全限定名。所以在我們的例子中,HelloWorld的完全限定名是:com.baeldung.HelloWorld.

現(xiàn)在,當(dāng)我們創(chuàng)建com.baeldung包時實際上我們創(chuàng)建了一個文件夾結(jié)構(gòu),如:

com/baeldung/HelloWorld.java

首先,讓我們嘗試從com/baeldung目錄運行程序:

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

盡管如此,我們還是無法運行我們的程序。

在這里,當(dāng)我們指定完全限定類名時:com.baeldung.HelloWorld,Java試圖找到HelloWorld.class類文件在com/baeldung中,在我們運行程序的目錄下。

由于我們已經(jīng)在com/baeldung中,Java無法找到并運行HelloWorld程序。

現(xiàn)在,讓我們回到父文件夾并運行它:

$ java com.baeldung.HelloWorld
Hello world..!!!

是的,我們再次能夠向世界問好。

類路徑無效

在繼續(xù)之前,讓我們首先了解什么是類路徑classpath——它是當(dāng)前運行的JVM可用的一組類。

我們使用classpath變量告訴JVM在文件系統(tǒng)上的何處找到.class文件。

在運行程序時,我們可以使用-classpath選項提供類路徑。例子:

java -classpath /my_programs/compiled_classes HelloWorld

在這里,Java將尋找HelloWorld.class類文件在/my_programs/compiled_classes文件夾中,這個文件夾的名稱是我們剛剛編出來的。默認(rèn)情況下,classpath變量設(shè)置為“.”,表示當(dāng)前目錄。

在上面的部分中,我們更改了目錄以運行程序。但是如果我們想從其他文件夾運行它呢?這時classpath變量可以幫助我們。

要從com/baeldung目錄運行我們的程序,我們可以簡單地說,我們的類路徑是向上的兩個目錄—每個包部分一個:

$ java -claspath ../../ com.baeldung.HelloWorld
Hello world..!!!

以上就是Java中無法加載主類如何解決,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:Java中無法加載主類如何解決-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://m.jcarcd.cn/article/gjijg.html
主站蜘蛛池模板: 国产色片免费网址 | 日本一区午| 国产免费人 | 成人97视频 | 福利导航在线播放 | 成人h视频在线观 | 国产手机 | 国产免费一级高清 | 人人草在线观看 | 日本高清va | 区三区蜜桃 | 99re在线 | 妹子干综合| www.成人午夜 | 国产欧美日韩乱伦 | 国产精品私密保养 | 国产91精品一区二 | 欧美午夜激情免费看 | 国产美乳艺术一区 | 91视频九色萌白 | 精品日本一区 | 国产精品自拍大概率 | 国产一区二区三四区 | 午夜福利国产精品 | 国产高清免| 奇奇影视 | 成人视屏一区 | 成人午夜试看120 | 91国在线精品 | 日本一本| 国产免费永久在线观 | 日韩高清一区二区 | 成人福利国产视频 | 播放国产盗摄视频 | 97在线人人 | 午夜日韩理论视频 | 日韩成人精品二区 | 国语国产自产精品 | 最新日本高清视频免费在线观看 | 国产乱对白刺激视频 | 日本韩国一区 |