gpt4 book ai didi

java - 具有 Maven 依赖系统范围的 ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 11:08:42 25 4
gpt4 key购买 nike

我收到 ClassNotFoundExceptionNoClassDefFoundError当我尝试使用 Maven 定义的依赖项运行我的应用程序时出现异常。

我使用以下声明将有关 jar 的 maven 依赖项添加到我的 pom.xml 文件中:

<dependency>
<groupId>ldap</groupId>
<artifactId>com.novell.ldap</artifactId>
<systemPath>${local.lib.dir}/ldap.jar</systemPath>
<scope>system</scope>
<version>1</version>
</dependency>

jar 已正确添加到 Dependencies NetBeans 项目中

enter image description here

但是当我部署应用程序时,依赖项丢失了
java.lang.NoClassDefFoundError: com/novell/ldap/LDAPException

最佳答案

如果您阅读了 Maven documentation关于这个范围,如果您的应用程序服务器在运行时不提供这个库,这似乎是预期的行为:

This scope is similar to provided except that you have to provide the JAR which contains it explicitly.


provided范围状态:

This is much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime.



不建议的解决方案:将此库添加到应用程序服务器的 lib 文件夹中。
更简洁的解决方案:手动或使用 mvn install:install-file 在您的 maven 存储库中添加此 maven 依赖项.
并删除 system这种依赖的范围。它将使用 default范围。

关于java - 具有 Maven 依赖系统范围的 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45367692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com