Maven引入本地jar包,解决打包时找不到本地jar包

男娘i 2023-06-18 12:53 152阅读 0赞

由于 缺少部分引入jar包,服务器运行jar包时,会出现异常 找不到文件

Constructor threw exception; nested exception is java.lang.NoClassDefFoundError:XXX

引入本地jar包的代码如下:

  1. <dependency>
  2. <groupId>local-sdk</groupId>
  3. <artifactId>test</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. <scope>system</scope>
  6. <systemPath>${project.basedir}/src/main/resources/lib/local-sdk-1.0.0.jar</systemPath>
  7. </dependency>

其中,${project.basedir} = ${basedir},两者是完全一致的,都是maven的内置属性。

然后会发现,代码不报红了,说明jar包已经引入。
但是,在执行maven编译时,又会报错说找不到这两个包。
解决方案:
一、适用于springboot
重点就 < includeSystemScope > true </ includeSystemScope>这句。

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <configuration>
  7. <includeSystemScope>true</includeSystemScope>
  8. </configuration>
  9. </plugin>
  10. </plugins>
  11. </build>

可跳过单元测试

  1. <!--跳过单元测试-->
  2. <plugin>
  3. <groupId>org.apache.maven.plugins</groupId>
  4. <artifactId>maven-surefire-plugin</artifactId>
  5. <configuration>
  6. <skipTests>true</skipTests>
  7. </configuration>
  8. </plugin>

到此,jar就能成功运行

发表评论

表情:
评论列表 (有 0 条评论,152人围观)

还没有评论,来说两句吧...

相关阅读

    相关 maven引入本地jar

            有时候会因为种种原因,无法通过pom下载相应的jar包,需要手动下载添加到本地仓库中去。 1.根据pom中的相应信息添加。 <dependency>