Java char,Java ClassNotFoundException – java.lang.ClassNotFoundException

 2023-11-19 阅读 23 评论 0

摘要:Java ClassNotFoundException (Java ClassNotFoundException) Java ClassNotFoundException occurs when the application tries to load a class but Classloader is not able to find it in the classpath. 當應用程序嘗試加載類,但Classloader無法在類路徑中找到它

Java ClassNotFoundException (Java ClassNotFoundException)

  • Java ClassNotFoundException occurs when the application tries to load a class but Classloader is not able to find it in the classpath.

    當應用程序嘗試加載類,但Classloader無法在類路徑中找到它時,將發生Java ClassNotFoundException。
  • Common causes of java.lang.ClassNotFoundException are using Class.forName or ClassLoader.loadClass to load a class by passing String name of a class and it’s not found on the classpath.

    java.lang.ClassNotFoundException常見原因是使用Class.forNameClassLoader.loadClass通過傳遞類的String名稱來加載類,而在類路徑上找不到它。
  • ClassNotFoundException is a checked exception, so it has to be catch or thrown to the caller.

    ClassNotFoundException是一個已檢查的異常 ,因此必須將其捕獲或拋出給調用者。
  • ClassNotFoundException always occurs at runtime because we are indirectly loading the class using Classloader. Java compiler has no way to know if the class will be present in the classpath at runtime or not.

    ClassNotFoundException總是在運行時發生,因為我們使用Classloader間接加載類。 Java編譯器無法知道在運行時該類是否存在于類路徑中。
  • One of the most common example of ClassNotFoundException is when we try to load JDBC drivers using Class.forName but forget to add it’s jar file in the classpath.

    ClassNotFoundException的最常見示例之一是,當我們嘗試使用Class.forName加載JDBC驅動程序但忘記將其jar文件添加到類路徑中時。

Java ClassNotFoundException示例 (Java ClassNotFoundException Example)

Let’s look at a simple example where we will get ClassNotFoundException.

讓我們看一個簡單的示例,在該示例中將獲得ClassNotFoundException

package com.journaldev.exceptions;public class DataTest {public static void main(String[] args) {try {Class.forName("com.journaldev.MyInvisibleClass");ClassLoader.getSystemClassLoader().loadClass("com.journaldev.MyInvisibleClass");ClassLoader.getPlatformClassLoader().loadClass("com.journaldev.MyInvisibleClass");} catch (ClassNotFoundException e) {e.printStackTrace();}}}

Note that com.journaldev.MyInvisibleClass doesn’t exist, so When we execute above program, we get following exception stack trace.

請注意, com.journaldev.MyInvisibleClass不存在,因此當我們執行上述程序時,將獲得以下異常堆棧跟蹤。

java.lang.ClassNotFoundException: com.journaldev.MyInvisibleClassat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)at java.base/java.lang.Class.forName0(Native Method)at java.base/java.lang.Class.forName(Class.java:292)at com.journaldev.exceptions.DataTest.main(DataTest.java:7)

Java char、In above example, all the three statements will throw java.lang.ClassNotFoundException.

在上面的示例中,所有這三個語句將拋出java.lang.ClassNotFoundException

如何解決ClassNotFoundException (How to resolve ClassNotFoundException)

It’s very easy to fix ClassNotFoundException because the exception stack trace clearly specifies the class not found. Just check for classpath settings and make sure class it’s present at runtime.

修復ClassNotFoundException非常容易,因為異常堆棧跟蹤明確指定了未找到的類。 只需檢查類路徑設置,并確保其在運行時存在即可。

ClassNotFoundException與NoClassDefFoundError (ClassNotFoundException vs NoClassDefFoundError)

NoClassDefFoundError is a runtime error thrown when a class is not found at runtime. It’s very similar to ClassNotFoundException. Read more at Java NoClassDefFoundError.

java是什么? NoClassDefFoundError是在運行時找不到類時引發的運行時錯誤。 它與ClassNotFoundException非常相似。 在Java NoClassDefFoundError上內容。

Reference: API Doc

參考: API文檔

翻譯自: https://www.journaldev.com/20898/java-classnotfoundexception-java-lang-classnotfoundexception

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/183169.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息