正文

下文笔者讲述maven引入本地jar包时,运行报错"java.lang.NoClassDefFoundError"的处理方法分享,如下所示

 今天在编写maven项目
    导入本地jar包
    部署到服务器上找不到包 
 报错信息如:java.lang.NoClassDefFoundError
那么如何解决呢?
   这种问题是由于,本地jar包在打包的时,没有打入到
   项目中,我们只需在maven打包时,告诉maven项目
   需把这个jar包打入即可

maven引入本地jar的示例

<dependency>
	 <groupId>com.java265</groupId>
	 <artifactId>test-core-SNAPSHOT.jar</artifactId>
	 <version>1.0.0</version>
	 <scope>system</scope>
	 <systemPath>${pom.basedir}/src/main/resources/lib/test-core-SNAPSHOT.jar</systemPath>
</dependency>

配置maven将本地jar打入package中

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<configuration>
		<includeSystemScope>true</includeSystemScope>
	</configuration>
</plugin>

maven打包知识分享

maven打包可以控制是否需要将jar打入

可使用scope标签

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-test</artifactId>
 <scope>test</scope>
</dependency>

scope详解

缺省的scope,其值为scope=compile

参数 备注 是否会被打入package中jar
compile 默认scope
test 测试使用
provided 编译需要
runtime 编译不需要,运行时需要
system 加载本地jar

以上就是maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决的详细内容,更多关于maven引入本地jar包报错的资料请关注其它相关文章!

原文地址:https://juejin.cn/post/7152323793355014180

相关文章: