我正进入(状态ClassNotFoundException
and NoClassDefFoundError
当我尝试使用 Maven 定义的依赖项运行我的应用程序时出现异常。
我将相关 jar 的 Maven 依赖项添加到了我的pom.xml
文件包含以下声明:
<dependency>
<groupId>spy</groupId>
<artifactId>spymemcached</artifactId>
<version>2.8.4</version>
<scope>provided</scope>
</dependency>
这会将相关的 JAR 文件添加到 Eclipse 中的 Maven 依赖项文件夹中。我可以访问代码中的类,但是一旦运行应用程序,我就会遇到上述异常。
该 jar 在我的 Java 构建路径中的 Maven 依赖项下引用:
我的本地 Maven 存储库已添加到我的类路径中:
当我尝试运行该应用程序时,出现以下两个异常:
java.lang.NoClassDefFoundError: Lnet/spy/memcached/MemcachedClient;
java.lang.ClassNotFoundException: net.spy.memcached.MemcachedClient
有人能指出我正确的方向吗?
Change provided
to compile
Provided
这很像编译,但表明您期望 JDK 或容器在运行时提供依赖项。例如,在为 Java Enterprise Edition 构建 Web 应用程序时,您可以将 Servlet API 和相关 Java EE API 的依赖关系设置为提供的范围,因为 Web 容器提供了这些类。此作用域仅在编译和测试类路径上可用,并且不可传递。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)