java -jar yourfile.jar
重新启动,或在IDE中点击运行按钮。命令行启动的Java程序停止后重启
- 定位程序入口
打开终端,进入项目目录:cd /path/to/your/java_project
- 重新编译(如代码有修改)
javac YourMainClass.java # 编译单个文件 # 或使用构建工具 mvn clean package # Maven项目 gradle build # Gradle项目
- 执行程序
java -cp . YourMainClass # 直接运行 java -jar your_application.jar # 运行JAR包
IDE中运行的Java程序停止后重启
以IntelliJ IDEA为例:
- 检查控制台错误日志(通常红色文字提示)
- 修复代码错误(如空指针、资源泄漏)
- 点击工具栏重启按钮:
- ▶️ 停止当前进程(红色方形按钮)
- ▶️ 重新运行(绿色三角形按钮)
或使用快捷键: - Windows/Linux:
Ctrl+F5
- macOS:
Command+Shift+F5
服务器环境下的Java服务重启
方案1:Spring Boot项目
# 1. 终止原进程 kill $(pgrep -f your_app_name.jar) # 2. 后台启动新进程 nohup java -jar /path/to/your_app_name.jar > log.txt 2>&1 &
方案2:Tomcat Web应用
# 进入Tomcat的bin目录 cd /opt/tomcat/bin # 停止服务 ./shutdown.sh # Linux shutdown.bat # Windows # 启动服务 ./startup.sh # Linux startup.bat # Windows
常见停止原因及解决方案
现象 | 解决方案 |
---|---|
控制台报OutOfMemoryError |
增加JVM内存:java -Xmx2G -jar app.jar |
端口冲突 | 更换端口:server.port=8081 (Spring Boot配置) |
依赖缺失 | 检查pom.xml /build.gradle ,运行mvn install |
死锁/线程阻塞 | 用jstack <pid> 分析线程堆栈 |
高级运维技巧
- 进程监控
使用jps
命令查看Java进程ID:jps -l # 列出所有Java进程
- 日志分析
关键日志路径:- Spring Boot:
logs/application.log
- Tomcat:
logs/catalina.out
- Spring Boot:
- 守护进程(推荐生产环境)
使用systemd
管理(Linux):# /etc/systemd/system/myapp.service [Service] ExecStart=/usr/bin/java -jar /opt/myapp.jar Restart=always # 崩溃时自动重启
预防性建议
- 添加关闭钩子 确保资源释放:
Runtime.getRuntime().addShutdownHook(new Thread(() -> { // 清理数据库连接/释放锁等 }));
- 健康检查
Spring Boot Actuator配置:management: endpoint: health: enabled: true
- 内存设置
根据服务器配置调整JVM参数:-Xms512m -Xmx2048m -XX:+UseG1GC
引用说明:本文操作指南参考Oracle官方文档《Java SE Troubleshooting》及《Spring Boot Production-Ready Features》,最佳实践遵循MITRE CWE代码安全规范,Linux系统命令参考IBM Knowledge Center。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26514.html