亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Java? 教程(常見(jiàn)問(wèn)題及其解決方案)

netmou / 2626人閱讀

常見(jiàn)問(wèn)題(及其解決方案) 編譯器的問(wèn)題

Microsoft Windows系統(tǒng)上常見(jiàn)的錯(cuò)誤消息。

"javac" is not recognized as an internal or external command, operable program or batch file

如果你收到這個(gè)錯(cuò)誤,Windows將無(wú)法找到編譯器(javac)。

這里有一種方法可以告訴Windows哪里可以找到j(luò)avac,假設(shè)你在C:jdk1.8.0中安裝了JDK,在提示符處輸入以下命令并按Enter鍵:

C:jdk1.8.0injavac HelloWorldApp.java

如果你選擇此選項(xiàng),你必須在你的javacjava命令之前使用C:jdk1.8.0in,每次編譯或運(yùn)行一個(gè)程序時(shí),為了避免這種額外的輸入,請(qǐng)參考JDK 8安裝說(shuō)明中更新PATH變量的部分。

Class names, "HelloWorldApp", are only accepted if annotation processing is explicitly requested

如果收到此錯(cuò)誤,則在編譯程序時(shí)忘記包含.java后綴,記住,這個(gè)命令是javac HelloWorldApp.java,不是javac HelloWorldApp。

UNIX系統(tǒng)上常見(jiàn)的錯(cuò)誤消息
javac: Command not found

如果你收到這個(gè)錯(cuò)誤,UNIX將無(wú)法找到編譯器javac。

有一種方法可以告訴UNIX在哪里找到javac,假設(shè)你在/usr/local/jdk1.8.0中安裝了JDK,在提示符下輸入以下命令并按回車(chē):

/usr/local/jdk1.8.0/javac HelloWorldApp.java
如果你選擇此選項(xiàng),那么每次編譯或運(yùn)行一個(gè)程序時(shí),你都必須在你的javac和java命令之前加上/usr/local/jdk1.8.0/,為了避免這種額外的輸入,你可以將這些信息添加到PATH變量中,這樣做的步驟將根據(jù)當(dāng)前運(yùn)行的shell而有所不同。
Class names, "HelloWorldApp", are only accepted if annotation processing is explicitly requested

如果收到此錯(cuò)誤,則在編譯程序時(shí)忘記包含.java后綴,記住,這個(gè)命令是javac HelloWorldApp.java,不是javac HelloWorldApp。

語(yǔ)法錯(cuò)誤(所有平臺(tái))

如果你錯(cuò)誤地編寫(xiě)程序的一部分,編譯器可能會(huì)發(fā)出語(yǔ)法錯(cuò)誤,消息通常顯示錯(cuò)誤的類(lèi)型、檢測(cè)錯(cuò)誤的行號(hào)、行上的代碼以及代碼中錯(cuò)誤的位置,在語(yǔ)句末尾省略分號(hào)(;)會(huì)導(dǎo)致以下錯(cuò)誤:

testing.java:14: `;" expected.
System.out.println("Input has " + count + " chars.")
                                                     ^
1 error

有時(shí),編譯器無(wú)法猜測(cè)你的意圖,如果錯(cuò)誤級(jí)聯(lián)超過(guò)幾行,則會(huì)打印出混亂的錯(cuò)誤消息或多個(gè)錯(cuò)誤消息,例如,下面的代碼片段省略了粗體行中的分號(hào)(;):

while (System.in.read() != -1)
    count++
System.out.println("Input has " + count + " chars."); 

在處理此代碼時(shí),編譯器發(fā)出兩個(gè)錯(cuò)誤消息:

testing.java:13: Invalid type expression.
        count++
                 ^
testing.java:14: Invalid declaration.
    System.out.println("Input has " + count + " chars.");
                      ^
2 errors

編譯器發(fā)出兩個(gè)錯(cuò)誤消息,因?yàn)樵谒幚?b>count++之后,編譯器的狀態(tài)表明它位于表達(dá)式的中間,如果沒(méi)有分號(hào),編譯器就無(wú)法知道語(yǔ)句是否完整。

如果你看到任何編譯錯(cuò)誤,那么你的程序沒(méi)有成功編譯,編譯器也沒(méi)有創(chuàng)建.class文件,仔細(xì)檢查程序,修復(fù)你檢測(cè)到的任何錯(cuò)誤,然后再次嘗試。

語(yǔ)義錯(cuò)誤

除了驗(yàn)證你的程序語(yǔ)法正確之外,編譯器還檢查其他基本正確性,例如,每次使用未初始化的變量時(shí),編譯器都會(huì)警告你:

testing.java:13: Variable count may not have been initialized.
        count++
        ^
testing.java:14: Variable count may not have been initialized.
    System.out.println("Input has " + count + " chars.");
                                       ^
2 errors

同樣,你的程序沒(méi)有成功編譯,編譯器也沒(méi)有創(chuàng)建.class文件,修復(fù)錯(cuò)誤并再次嘗試。

運(yùn)行時(shí)的問(wèn)題

Microsoft Windows系統(tǒng)上的錯(cuò)誤消息。

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp

如果你收到此錯(cuò)誤,java將無(wú)法找到你的字節(jié)碼文件HelloWorldApp.class。

java試圖找到.class文件的地方之一是當(dāng)前目錄,因此,如果你的.class文件在C:java中,你應(yīng)該將當(dāng)前目錄更改為C:java,若要更改目錄,請(qǐng)?jiān)谔崾痉庉斎胍韵旅睿缓蟀椿剀?chē)鍵:

cd c:java

他的提示應(yīng)該更改為C:java>,如果在提示符處輸入dir,應(yīng)該會(huì)看到.java.class文件,現(xiàn)在再次輸入java HelloWorldApp。

如果仍然有問(wèn)題,你可能需要更改CLASSPATH變量,要查看是否需要這樣做,請(qǐng)嘗試使用以下命令對(duì)類(lèi)路徑進(jìn)行截?cái)唷?/p>

set CLASSPATH=

現(xiàn)在再次輸入java HelloWorldApp,如果該程序現(xiàn)在可以工作,那么你必須更改CLASSPATH變量,要設(shè)置此變量,請(qǐng)參閱JDK 8安裝說(shuō)明中更新路徑變量一節(jié),CLASSPATH變量的設(shè)置方式相同。

Could not find or load main class HelloWorldApp.class

初學(xué)者程序員常犯的一個(gè)錯(cuò)誤是嘗試在編譯器創(chuàng)建的.class文件上運(yùn)行java啟動(dòng)程序,例如,如果你試圖使用HelloWorldApp.class而不是java HelloWorldApp運(yùn)行程序,你將會(huì)得到這個(gè)錯(cuò)誤。記住,參數(shù)是要使用的類(lèi)的名稱(chēng),而不是文件名。

Exception in thread "main" java.lang.NoSuchMethodError: main

Java VM要求使用它的類(lèi)有一個(gè)main方法來(lái)開(kāi)始執(zhí)行應(yīng)用程序,詳解“Hello World!”應(yīng)用中詳細(xì)討論了main方法。

UNIX系統(tǒng)上的錯(cuò)誤消息
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp

如果你收到此錯(cuò)誤,java將無(wú)法找到你的字節(jié)碼文件HelloWorldApp.class。

java試圖找到你的字節(jié)碼文件的地方之一是當(dāng)前目錄,例如,如果你的字節(jié)碼文件位于/home/jdoe/java中,你應(yīng)該將當(dāng)前目錄更改為該目錄,若要更改目錄,請(qǐng)?jiān)谔崾痉庉斎胍韵旅畈椿剀?chē):

cd /home/jdoe/java

如果在提示符處輸入pwd,應(yīng)該會(huì)看到/home/jdoe/java,如果在提示符處輸入ls,應(yīng)該會(huì)看到.java.class文件,現(xiàn)在再次輸入java HelloWorldApp。

如果你仍然有問(wèn)題,你可能需要更改CLASSPATH環(huán)境變量,要查看是否需要這樣做,請(qǐng)嘗試使用以下命令對(duì)類(lèi)路徑進(jìn)行截?cái)唷?/p>

unset CLASSPATH

現(xiàn)在再次輸入java HelloWorldApp,如果該程序現(xiàn)在可以工作,那么你將必須以與上面的PATH變量相同的方式更改CLASSPATH變量。

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class

初學(xué)者程序員常犯的一個(gè)錯(cuò)誤是嘗試在編譯器創(chuàng)建的.class文件上運(yùn)行java啟動(dòng)程序,例如,如果你試圖使用HelloWorldApp.class而不是java HelloWorldApp運(yùn)行程序,你將會(huì)得到這個(gè)錯(cuò)誤。記住,參數(shù)是要使用的類(lèi)的名稱(chēng),而不是文件名。

Exception in thread "main" java.lang.NoSuchMethodError: main

Java VM要求使用它的類(lèi)有一個(gè)主要的方法來(lái)開(kāi)始執(zhí)行應(yīng)用程序,詳解“Hello World!”應(yīng)用中詳細(xì)討論了main方法。

Applet或Java Web Start應(yīng)用程序被阻塞

如果你正在通過(guò)瀏覽器運(yùn)行一個(gè)應(yīng)用程序,并得到安全警告說(shuō)該應(yīng)用程序被阻塞,請(qǐng)檢查以下條目:

驗(yàn)證JAR文件清單中的屬性是否為應(yīng)用程序正在運(yùn)行的環(huán)境正確設(shè)置,需要使用Permissions屬性,在NetBeans項(xiàng)目中,你可以通過(guò)擴(kuò)展項(xiàng)目文件夾和雙擊manifest.mf,從NetBeans IDE的Files選項(xiàng)卡中打開(kāi)清單文件。

驗(yàn)證應(yīng)用程序是由一個(gè)有效的證書(shū)簽名的,并且該證書(shū)位于簽名者CA keystore中。

如果你正在運(yùn)行一個(gè)本地applet,請(qǐng)?jiān)O(shè)置一個(gè)用于測(cè)試的web服務(wù)器,你還可以將應(yīng)用程序添加到異常站點(diǎn)列表中,該列表在Java控制面板的Security選項(xiàng)卡中進(jìn)行管理。

上一篇:仔細(xì)看看“Hello World!”應(yīng)用程序 下一篇:面向?qū)ο缶幊谈拍?/b>

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/76425.html

相關(guān)文章

  • Java? 教程(“Hello World!”應(yīng)用程序)

    Hello World!應(yīng)用程序 下面列出的小節(jié)提供了編譯和運(yùn)行一個(gè)簡(jiǎn)單的Hello World!應(yīng)用程序的詳細(xì)說(shuō)明,第一部分提供了關(guān)于使用NetBeans IDE入門(mén)的信息,集成開(kāi)發(fā)環(huán)境極大地簡(jiǎn)化了軟件開(kāi)發(fā)過(guò)程。NetBeans IDE運(yùn)行在下面列出的所有平臺(tái)上,其余部分提供了特定于平臺(tái)的指示,用于在沒(méi)有集成開(kāi)發(fā)環(huán)境的情況下啟動(dòng)。如果遇到問(wèn)題,一定要參考常見(jiàn)問(wèn)題部分,它為新用戶(hù)遇到的許多問(wèn)題提供...

    skinner 評(píng)論0 收藏0
  • Java? 教程(目錄)

    Java? 教程 Java教程是為JDK 8編寫(xiě)的,本頁(yè)面中描述的示例和實(shí)踐沒(méi)有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語(yǔ)言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個(gè)完整的工作示例和數(shù)十個(gè)課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識(shí)的路徑 這些教程以書(shū)籍的形式提供,如Java教程,第六版,前往Amazon.com購(gòu)買(mǎi)。 入門(mén) 介紹Java技術(shù)和安裝Java開(kāi)發(fā)軟件并使用...

    lifesimple 評(píng)論0 收藏0
  • Java? 教程(仔細(xì)看看“Hello World!”應(yīng)用程序)

    仔細(xì)看看Hello World!應(yīng)用程序 現(xiàn)在你已經(jīng)看到了Hello World!應(yīng)用程序(甚至可能編譯并運(yùn)行它),你可能想知道它是如何工作的,這是它的代碼: class HelloWorldApp { public static void main(String[] args) { System.out.println(Hello World!); // Display ...

    zollero 評(píng)論0 收藏0
  • 架構(gòu)~微服務(wù)

    摘要:接下來(lái)繼續(xù)介紹三種架構(gòu)模式,分別是查詢(xún)分離模式微服務(wù)模式多級(jí)緩存模式。分布式應(yīng)用程序可以基于實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊(duì)列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡(jiǎn)單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡(jiǎn)單的 S...

    xinhaip 評(píng)論0 收藏0
  • Java? 教程(Object作為超類(lèi))

    Object作為超類(lèi) java.lang包中的Object類(lèi)位于類(lèi)層次結(jié)構(gòu)樹(shù)的頂部,每個(gè)類(lèi)都是Object類(lèi)的直接或間接的后代,你使用或編寫(xiě)的每個(gè)類(lèi)都繼承Object的實(shí)例方法,你不需要使用任何這些方法,但是,如果你選擇這樣做,你可能需要使用特定于你的類(lèi)的代碼重寫(xiě)它們,本節(jié)中討論的從Object繼承的方法是: protected Object clone() throws CloneNotSu...

    RichardXG 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<