java.lang.ClassNotFoundException
Java中的ClassNotFoundException是Java的子类,
java.lang.Exception当
Java虚拟机 尝试加载特定的类并且在类路径中找不到所请求的类时发生。这是一个检查的异常,使用块或using 子句可能
引发ClassNotFoundException的 异常需要显式的Exception处理方法。
try-catch``throws
根据 Java Docs
ClassNotFoundException,
在以下情况下会出现:
- 当我们尝试使用
Class.forName()
方法加载类时.class
,classpath中的文件或类的二进制文件不可用。 - 当 Classloader 尝试使用
findSystemClass()
方法加载类时。 - 在Java中使用 ClassLoader类的
loadClass()
方法时。 __
ClassNotFoundExcepiton仅当JVM试图在运行时加载类时才会出现,而与编译时没有任何关系,这不同于NoClassDefFoundError。这是因为直到运行时JVM都不知道该类,并且只能通过上述指定的方法或通过使用Reflection从某个配置中读取类的名称,然后在这些配置文件上加载指定的类来完成。
这个用例
该错误确实提示我们出了什么问题,如下所示:
Caused by: java.lang.ClassNotFoundException: org.apache.xml.utils.PrefixResolver
根据您已共享的 pom.xml* ,该 <version>x.y.z</version>
标签明显丢失。您需要更改 *如下 :
selenium-api
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-api -->
org.seleniumhq.selenium
selenium-api3.10.0 selenium-htmlunit-driver
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-htmlunit-driver -->
org.seleniumhq.selenium
selenium-htmlunit-driver2.52.0
另外,在使用 spring-boot 1.5.10时, 您可能还需要添加以下任意一项 <dependency>
:
selenium-java
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
org.seleniumhq.selenium
selenium-java3.10.0 selenium-server
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server -->
org.seleniumhq.selenium
selenium-server3.10.0



