1. 主页 > 小妙招

Java程序运行报错怎么办?常见问题排查与解决方法

锛堟枃绔犲紑澶达級
"鍝庡鍛€锛佸垰鍐欑殑Java浠g爜鍙堝弻鍙掑彆鎶ラ敊浜嗭紵鎺у埗鍙伴绾㈠瓧姣旇繃骞磋创鏄ヨ仈杩樼儹闂规槸鍚э紵鍒€ョ潃鐮搁敭鐩橈紒浠婂ぉ鍜卞氨鍍忚€佷腑鍖绘妸鑴夛紝鎶奐ava鎶ラ敊鍒嗘垚'椋庡瘨婀跨儹'鍥涘ぇ绫伙紝鎵嬫妸鎵嬫暀浣犲綋鑷繁鐨勭▼搴忛儙涓紒"


馃毃 鐥囩姸涓€锛?鎵句笉鍒扮被"缁煎悎鐥囷紙ClassNotFoundException锛?/h2>

缁忓吀鐥呮锛?/h3>

鎺у埗鍙版彁绀猴細java.lang.ClassNotFoundException: com.example.Main

鎶婅剦璇婃柇锛?/h3>
  1. 鈥?strong>鈥嬬被鏂囦欢澶辫釜鈥?/strong>鈥嬶細灏卞儚鍘婚鍫傚彂鐜版病甯﹂キ鍗?/li>
  2. 鈥?strong>鈥嬪寘璺緞閿欎贡鈥?/strong>鈥嬶細鎶婂揩閫掑瘎鍒颁簡闅斿灏忓尯蹇€掓煖
  3. 鈥?strong>鈥嬬幆澧冨彉閲忔娊椋庘€?/strong>鈥嬶細鎵嬫満寮€浜嗛琛屾ā寮忚繕鎬病淇″彿

鏁戝懡鑽柟锛?/h3>
  • 妫€鏌ョ紪璇戝悗鐨?class鏂囦欢鏄惁瀛樺湪 鈫?閲嶆柊javac缂栬瘧
  • 纭鍖呭0鏄庡拰鏂囦欢璺緞涓€鑷?鈫?灏卞儚鏍稿鏀朵欢鍦板潃
  • 鍛戒护琛岃繍琛屾椂鍔?code>-classpath鍙傛暟 鈫?鐩稿綋浜庣粰绋嬪簭鍙戝鑸畾浣?/li>
bash澶嶅埗
java -classpath "D:\mycode\bin" com.example.Main

馃挜 鐥囩姸浜岋細绌烘寚閽堟毚鍑伙紙NullPointerException锛?/h2>

缁忓吀鐥呮锛?/h3>

Exception in thread "main" java.lang.NullPointerException

鎶婅剦璇婃柇锛?/h3>
  • 鈥?strong>鈥嬪璞℃病鍒濆鍖栧氨璋冪敤鏂规硶鈥?/strong>鈥嬶細璁╃┖姘斾汉琛ㄦ紨鏉傛妧
  • 鈥?strong>鈥嬫柟娉曡繑鍥炰簡null娌℃鏌モ€?/strong>鈥嬶細鎵撳紑绌虹ぜ鐩掕繕鏈熷緟鎯婂枩

闃叉毚鎸囧崡锛?/h3>
  1. 鍦ㄦ墍鏈夊彲鑳借繑鍥瀗ull鐨勬柟娉曞悗鍔犲垽绌哄鐞嗭細
java澶嶅埗
if (user != null) {
    System.out.println(user.getName());
}
  1. 浣跨敤Java 8鐨凮ptional绫?鈫?缁欏彉閲忓涓婇槻鎾炴潯
  2. 鈥?strong>鈥嬮噸瑕佷範鎯€?/strong>鈥嬶細鏂板缓瀵硅薄鍚庣珛鍗冲垵濮嬪寲锛屽氨鍍忕粰鏂版墜鏈鸿创鑶?/li>

馃攲 鐥囩姸涓夛細鐜閰嶇疆鐜勫闂

缁忓吀涓夎繛鍑伙細

  • "javac涓嶆槸鍐呴儴鍛戒护"
  • "JAVA_HOME鏈纭厤缃?
  • "涓嶆敮鎸佺殑class鐗堟湰"

璁惧妫€淇墜鍐岋細

鐥囩姸鑷姝ラ宸ュ叿鎺ㄨ崘
鍛戒护鎵句笉鍒?/td>妫€鏌ath鐜鍙橀噺鏄惁鍖呭惈JDK鐨刡inEverything鎼滅储java.exe
鐗堟湰鍐茬獊杩愯java -version涓変欢濂楁瘮瀵?/td>JDK鐗堟湰鍒囨崲鑴氭湰
鐜勫鎶ラ敊閲嶅惎IDE+娓呯悊缂撳瓨绋嬪簭鍛樹笓鐢ㄩ噸鍚ぇ娉?/td>

锛堟媿澶ц吙锛夎娉粡楠岋細閬囧埌杩囨槑鏄庣幆澧冨彉閲忔纭紝浣嗗繀椤荤敤绠$悊鍛樻潈闄愯繍琛孋MD鎵嶆甯革紝璺熸煇浜涚數姊繀椤诲埛鍗℃墠鑳芥寜妤煎眰涓€鏍烽瓟骞伙紒


馃摉 鐥囩姸鍥涳細璇硶閿欎贡鐥囧€欑兢

缁忓吀缈昏溅鐜板満锛?/h3>
java澶嶅埗
// 婕忓啓鍒嗗彿
System.out.println("Hello")

// 涓枃寮曞彿
System.out.println锛?span>"閿欒绀鸿寖"锛?

// 澶у皬鍐欐贩涔?/span>
string name = "寮犱笁";

璇硶鐭鍣細

  1. 瀹夎IDE鐨勬嫾鍐欐鏌ユ彃浠?鈫?鐩稿綋浜庣粰浠g爜鎴寸墮濂?/li>
  2. 鍏绘垚鑲岃倝璁板繂锛?
    • 鑻辨枃绗﹀彿杈撳叆娉曢攣瀹?/li>
    • 绫诲悕棣栧瓧姣嶅ぇ鍐?/li>
    • 姣忚缁撴潫鐬勪竴鐪煎垎鍙?/li>

锛堢獊鐒舵兂鍒帮級鏈変釜鍐风煡璇嗭細90%鐨凪issing return statement閿欒锛岄兘鏄洜涓篿f-else鍒嗘敮娌¤鐩栨墍鏈夊彲鑳芥€э紒


馃 鐙鐢熷瓨鎸囧崡锛堟潵鑷鎶ラ敊铏愬摥3骞寸殑绋嬪簭鍛橈級

  1. 鈥?strong>鈥嬫帶鍒跺彴闃呰鏈€?/strong>鈥嬶細浠庝笅寰€涓婄湅鎶ラ敊淇℃伅锛屽氨鍍忓€掔潃鍚冪敇钄楁洿鐢?/li>
  2. 鈥?strong>鈥嬫渶灏忓鐜版硶鈥?/strong>鈥嬶細鏂板缓绌虹櫧绫婚€愭娣诲姞浠g爜锛岄攣瀹氶棶棰樿竟鐣?/li>
  3. 鈥?strong>鈥嬮敊璇棩蹇楃鐞嗏€?/strong>鈥嬶細鐢ㄨ浜嬫湰璁板綍鎶ラ敊鍜岃В鍐虫柟妗堬紝鍋氭垚鑷繁鐨勩€婄▼搴忔湰鑽夌翰鐩€?/li>

瀹炴祴鏁版嵁锛氱敤杩欎笁鎷涘悗锛屾垜澶勭悊鎶ラ敊鐨勬椂闂翠粠骞冲潎45鍒嗛挓缂╃煭鍒?鍒嗛挓锛岀浉褰撲簬灏戞帓涓ゆ濂惰尪搴楃殑闃燂紒


馃挕 闃查敊榛戠鎶€

  • 鍦↖DE璁剧疆閲屽紑鍚€?strong>鈥嬭嚜鍔ㄤ繚瀛樷€?/strong>鈥嬪拰鈥?strong>鈥嬪疄鏃剁紪璇戔€?/strong>鈥?/li>
  • 浣跨敤SonarLint鎻掍欢鎻愬墠鍙戠幇闅愭偅 鈫?浠g爜鐣岀殑閲戝睘鎺㈡祴鍣?/li>
  • 瀹氭湡杩愯mvn clean install娓呯悊闄堟棫缂栬瘧鏂囦欢

锛堟崅鑴革級涓婃蹇樹簡clean锛岀洴鐫€鎶ラ敊鏌ヤ簡淇╁皬鏃讹紝缁撴灉鍙戠幇鏄棫class鏂囦欢鍦ㄤ綔濡栵紝杩欐暀璁瘮鎴戝璁版垜灏忔椂鍊欏翱搴婃鏁拌寰楄繕娓呮锛?/p>


鏈€鍚庤鍙ュぇ瀹炶瘽锛?/h2>

鎶ラ敊灏卞儚绋嬪簭鍦ㄨ窡浣犺璇濓紝鍒氬紑濮嬪惉鐫€鍍忓鏄熻锛屼絾鍚浜嗗氨鑳界炕璇戞垚锛?鍏勫紵锛岃繖鍎挎湁涓潙锛屽揩濉笂锛?璁颁綇锛屾瘡涓姤閿欓兘鏄崌绾х粡楠屽寘銆傛垜鍒扮幇鍦ㄧ數鑴戦噷杩樺瓨鐫€褰撳勾绗竴涓狽ullPointerException鐨勬埅鍥撅紝鐜板湪鐪嬬潃閮戒箰鈥斺€旇皝杩樻病涓潚娑╃殑鑿滈笩鏃舵湡鍛紵

本文由嘻道妙招独家原创,未经允许,严禁转载