ps -ef | grep java

修改完本地代码后,要让服务器上的后端生效,你需要完成 打包、上传、重启 这三个核心步骤。由于你是 Java Spring Boot 项目(从之前的 ltd.newbee.mall 包名推断),通常涉及 JAR 包或 WAR 包的替换。

以下是标准的操作流程:

第一步:本地重新打包

在 IDEA 或命令行中重新编译并打包你的项目。

  1. Maven/Gradle 清理与构建:
    • 确保修改的代码已保存。
    • 执行 Maven 的 clean package 命令。
    • 命令示例:mvn clean package -DskipTests
  2. 获取新文件:
    • 打包成功后,在项目的 target 目录下会生成一个新的 .jar 文件(例如 newbee-mall-api-1.0.jar)。这就是你要上传的文件。

第二步:上传到服务器

使用工具将新生成的 JAR 包传输到 Linux 服务器。

常用工具
  • WinSCP / Xftp: 图形化界面,直接拖拽覆盖即可(推荐新手使用)。

  • SCP 命令: 如果你熟悉命令行,可以在本地终端使用:

    复制代码
    scp target/newbee-mall-api-1.0.jar root@你的服务器IP:/opt/app/
注意事项
  • 建议先备份旧文件:cp newbee-mall-api-1.0.jar newbee-mall-api-1.0.jar.bak,以防万一需要回滚。

第三步:重启后端服务

上传完成后,必须重启 Java 进程才能加载新的代码。

查找进程 ID (PID)
复制代码
ps -ef | grep java
# 或者
ps -ef | grep newbee

找到对应你项目的 PID(第一列的数字)。

杀掉旧进程
复制代码
kill -9 <PID>
启动新进程

建议使用 nohup 让程序在后台运行,并将日志输出到文件中:

复制代码
nohup java -jar newbee-mall-api-1.0.jar > log.out 2>&1 &

⚠️ 关键检查点:关于文件路径的改动

你在之前的对话中提到修改了 addResourceHandlers 中的物理路径。请务必确认以下一点,否则图片依然无法显示:

服务器上的文件路径必须存在!

你在代码里写的是 Windows 风格的路径:

复制代码
"file:D:\\LeStoreDownload\\...\\upload\\"

Linux 服务器上是没有 D 盘的! 如果你直接把这段代码部署到 Linux,程序启动时可能会报错,或者找不到图片。

你需要做以下改动之一:

  • 方案 A(推荐): 将图片上传到 Linux 的某个目录(例如 /home/upload/),然后修改代码为 Linux 路径:

    复制代码
    "file:/home/upload/"
  • 方案 B(不推荐): 如果一定要用原来的路径结构,你需要在 Linux 上创建对应的目录结构,但这非常别扭。

  • 方案 C(配置文件外置): 最好的做法是将这个路径写在 application.ymlapplication.properties 中,部署时只改配置文件,不改代码。

总结流程:

  1. 本地 mvn package
  2. WinSCP 上传新 jar 包。
  3. 修正代码中的文件路径为 Linux 路径(非常重要!)。
  4. 服务器 kill 旧进程,nohup java -jar 启动新进程。

按照上述步骤操作即可完成服务的更新部署。

相关推荐
嘻哈∠※6 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
白狐_7987 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2588 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
极创信息10 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
汉字萌萌哒10 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
喜欢的名字被抢了11 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
数据知道11 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
2601_9499506312 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐
Rain的Java大神之路12 小时前
MQ重复消费问题怎么解决
java·经验分享·后端·面试·架构·rabbitmq·rocketmq