当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 正文 maven引入本地jar的示例 配置maven将本地jar打入package中 maven打包知识分享 scope详解 正文 下文笔者讲述maven引入本地jar包时,运行报错java.lang.NoClassDefFoundError的处理方法分享,如下
目录
  • 正文
    • maven引入本地jar的示例
    • 配置maven将本地jar打入package中
    • maven打包知识分享
    • scope详解

正文

下文笔者讲述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中jarcompile默认scope是test测试使用否provided编译需要否runtime编译不需要,运行时需要是system加载本地jar否

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

网友评论