maven引入本地jar包,运行时报错"java.lang.NoClassDefFoundError"--如何处理呢?
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
下文笔者讲述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 | 否
- 通过自动化单元测试的形式守护系统架构
- 如何实现数据库读一致性
- 什么是微服务的可扩展性、高可用性和性能伸缩?
- 详解 MongoDB 索引优化
- 搜索中常见数据结构与算法探究
- 各大中间件底层技术-分布式一致性协议 Raft 详解
- Java多线程批量操作,居然有人不做事务控制?
- Java 下数据业务逻辑开发技术 JOOQ 和 SPL
- spring中每个模块都具有什么功能呢?
- Spring MVC九大组件简介说明
- SpringBoot 中使用 @Valid 注解 Exception 全局处理器优雅处理参数验证
- maven引入本地jar包,运行时报错"java.lang.NoClassDefFoundError"--如何处理呢?
- 说说 Spring 定时任务如何大规模企业级运用
- 掌握这些 Spring Boot 启动扩展点,已经超过 90% 的人了!
- 高并发下秒杀商品,你必须知道的9个细节