我是 Maven 项目的新手。我正在对开源 Maven 项目之一进行更改。我在向项目添加库时遇到问题。到目前为止我已经做到了:-
- 我将名为 jni4net.j-0.8.8.0.jar 的库添加到项目的资源文件夹中。
- 我右键单击了该 jar(在 Intellij 中),然后单击“添加为库”。
然后在 pom.xml 中添加:-
<dependency> <groupId>jar.0.8.8.0.jni4net</groupId> <artifactId>jar.0.8.8.0.jni4net</artifactId> <version>0.8.8.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/resources/jni4net.j- 0.8.8.0.jar</systemPath> </dependency>
但是当我构建这个项目(构建成功,测试用例正在运行)并使用它时,它会抛出以下错误:-
java.lang.NoClassDefFoundError: net/sf/jni4net/Bridge
请帮我解决一下。我是maven 和pom 的新手。我看过各种答案,但没有得到正确的答案。 PS - 我将 groupId 和 artifactID 命名为 jar 文件的反向
最佳答案
这不是添加该依赖项的正确方法。
您所需要的是:
<dependency>
<groupId>net.sf.jni4net</groupId>
<artifactId>jni4net.j</artifactId>
<version>0.8.8.0</version>
</dependency>
构建时将从 Maven Central 检索依赖项。
使用<systemPath>...</systemPath>
强烈建议不要这样做,因为它通常会将您的项目与本地环境联系起来。
关于java - 本地存在 Maven 依赖项时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513188/