java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > maven引入本地jar包报错

maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决

作者:欧子有话说

这篇文章主要为大家介绍了maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

下文笔者讲述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包报错的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文