maven 打包项目运行报 ClassNotFoundException

在本地运行没问题的项目,打包到服务器运行却发现有个 jar 包的类缺失。
报错信息

经过检查,发现是 maven 在打包项目的时候,没有把本地 jar 包打过去,所以在 pom 加上这个成功解决。

<build>
	<finalName>${project.artifactId}</finalName>
	   <plugins>
	       <plugin>
	           <groupId>org.springframework.boot</groupId>
	           <artifactId>spring-boot-maven-plugin</artifactId>
	           <configuration>
	           <!-- 主要起作用的还是这个标签 -->
	               <includeSystemScope>true</includeSystemScope>
	           </configuration>
	       </plugin>
	   </plugins>
</build>
### 解决 Maven HelloWorld 项目中的 404 错误 当遇到 Maven HelloWorld 项目的 404 错误时,这通常意味着请求的资源未被正确映射到应用程序中。以下是几种可能的原因及其解决方案: #### 1. 检查应用启动类的位置 确保 Spring Boot 的 `@SpringBootApplication` 注解位于包结构的根目录下,以便能够扫描并加载所有的组件和服务。 ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` #### 2. 控制器配置不当 确认控制器已正确定义,并且带有正确的 URL 映射。如果路径不匹配,则可能导致返回 404 页面。 ```java package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello World!"; } } ``` #### 3. 应用属性文件设置 检查 application.properties 或者 application.yml 文件里是否有影响 web 访问路径的相关配置项。例如端口号、上下文路径等。 ```properties server.port=8080 server.servlet.context-path=/api/v1 ``` #### 4. 构建工具配置问题 有时构建工具如 Maven 可能未能正确解析依赖关系或打包方式不对,从而引发静态资源无法访问等问题。可以尝试清理本地仓库缓存后再重新编译部署。 对于 maven 路径找不到的情况,在开始界面中 config 设置 Project defaults → setting 中,找到 Maven → Runner, 新增参数 M2_HOME 和 VM Options 参数来指定 maven 安装位置[^1]。 #### 5. 日志记录框架冲突 日志库版本兼容性不佳也可能造成异常行为。比如 Log4jConfigListener 类丢失就会抛出 ClassNotFoundException 异常[^2]。此时应调整 pom.xml 来排除不必要的 log 实现依赖,只保留 slf4j-api 加上具体实现(像 logback-classic)即可。 通过以上几个方面逐一排查应该能找到引起 404 原因所在,并采取相应措施加以修复。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值