简体   繁体   中英

NoClassDefFoundError on Maven dependency present locally

I am new to Maven Project. I am making changes to one of the open source maven project. I am facing a problem in adding a library to the project. So far i have done this :-

  1. I added a library named jni4net.j-0.8.8.0.jar to the resources folder of the project.
  2. I right clicked the jar(in Intellij) and clicked 'Add as library'.
  3. Then in the pom.xml i added:-

     <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> 

But when i build this project(build is successful, test cases are running) and use this it throws following error:-

java.lang.NoClassDefFoundError: net/sf/jni4net/Bridge 

Please help me resolve it. I am new to maven and pom. I have looked at various answers, but not getting it right. PS - I named groupId and artifactID as just reverse of jar file

This is not the right way to add that dependency.

All you need is:

<dependency>
    <groupId>net.sf.jni4net</groupId>
    <artifactId>jni4net.j</artifactId>
    <version>0.8.8.0</version>
</dependency>

The dependency will be retrieved from Maven Central when you build.

Using <systemPath>...</systemPath> is highly discouraged as it usually ties your project to a local environment.

Since jni4net.j dependency is available in maven central, You don't have to download and put the dependency manually. Maven will download and store the dependency locally in `'.m2' folder. Just add dependency as bellow.

<dependency>
   <groupId>net.sf.jni4net</groupId>
   <artifactId>jni4net.j</artifactId>
   <version>0.8.8.0</version>
</dependency>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM