在Linux系统中执行JAR包可以通过java jar命令实现,以下是详细步骤和常见用法,如何在Linux系统中轻松执行JAR包?,如何在Linux系统中一键运行JAR包?
在Linux环境中运行Java应用程序的JAR包是开发者必备技能,本文将系统性地介绍从基础执行到高级调优的全套方案。
基础执行命令
java -jar your-app.jar
执行前提条件
- 清单文件验证:确保JAR包包含有效的
Main-Class属性(位于META-INF/MANIFEST.MF) - 运行环境检查:
java -version # 推荐JDK版本与构建版本匹配
- 权限配置:
chmod +x your-app.jar # 确保可执行权限
JVM参数调优配置
java -Xms512m -Xmx2g -XX:+UseZGC -jar your-app.jar
核心参数解析
| 参数 | 说明 | 推荐值 |
|---|---|---|
-Xms |
初始堆大小 | 生产环境建议与-Xmx相同 |
-Xmx |
最大堆大小 | 不超过物理内存的75% |
-XX:+UseZGC |
低延迟垃圾回收器 | JDK11+可用 |

高级调优建议:
- 添加
-XX:+AlwaysPreTouch预分配内存- 使用
-XX:NativeMemoryTracking=detail监控堆外内存
后台运行与进程管理
nohup java -jar your-app.jar > app.log 2>&1 & echo $! > pid.file
进程管理命令集
# 查看资源占用 jcmd <PID> VM.native_memory # 优雅停机 kill -15 <PID> # 线程分析 jstack <PID> > thread_dump.log
配置管理方案
# Spring Boot配置 java -jar app.jar --spring.config.location=classpath:/,file:./config/ # 通用系统属性 java -Dapp.env=prod -jar app.jar
配置加载优先级
- 命令行参数
- JNDI属性
- 系统环境变量
- 应用配置文件
远程调试配置
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar app.jar
IDE连接配置示例
- IntelliJ:
Edit Configurations → Remote JVM Debug - VSCode:配置
launch.json的attach类型
生产环境部署方案
标准化启动脚本
#!/bin/bash
# 初始化变量
JAVA_OPTS="-Xms4g -Xmx4g -XX:+ExitOnOutOfMemoryError"
APP_OPTS="--spring.profiles.active=cluster"
# 启动服务
start() {
exec java ${JAVA_OPTS} -jar app.jar ${APP_OPTS}
}
# 健康检查
health_check() {
curl -sf http://localhost:8080/actuator/health || exit 1
}
case "" in
start)
start
;;
health)
health_check
;;
*)
echo "Usage: Docker最佳实践
{start|health}"
esac
FROM eclipse-temurin:17-jdk-jammy as builder WORKDIR /app COPY . . RUN ./gradlew bootJar FROM eclipse-temurin:17-jre-jammy COPY --from=builder /app/build/libs/*.jar /app.jar USER nobody ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
异常处理手册
常见问题解决方案
类加载冲突-
java -verbose:class -jar app.jar | grep conflict
: 内存泄漏诊断 -
jmap -histo:live <PID> | head -20
: 版本兼容性检查 -
file your-app.jar | grep "compressed ZIP archive"
:性能监控体系
监控指标矩阵
指标类型top -p <PID>
jstat -gcutil <PID>
jstack <PID>
安全加固建议
| 采集命令 | 监控工具 | CPU使用率 |
|---|---|---|
| Prometheus | GC情况 | |
| Grafana | 线程状态 | |
| Arthas |

-Djava.security.manager
- 使用
- 定期更新JDK安全补丁 启用安全管理器
- 禁止调试端口暴露在公网
通过本指南,您将获得从基础运行到企业级部署的完整知识体系,建议根据实际业务需求调整参数配置。
相关阅读:
1、深入理解Linux内核中的ioctl系统调用,Linux内核中的ioctl系统调用,它到底有多强大?,ioctl系统调用究竟有多强大?揭秘Linux内核的终极控制利器!
2、在Linux中定时重启可以通过cron(定时任务工具)或systemd(现代Linux系统的初始化系统)来实现。以下是具体方法,如何在Linux中轻松设置定时重启?cron与systemd全攻略!,如何在Linux中一键设置定时重启?cron和systemd哪个更适合你?
3、揭秘,VPS使用的合法性深度解析
4、在Linux上使用VNC(Virtual Network Computing)可以实现远程图形化桌面访问。以下是详细的配置步骤,分为服务端(被控端)和客户端(控制端)两部分,如何在Linux上轻松配置VNC实现远程桌面访问?,如何在Linux上轻松配置VNC实现远程桌面访问?
5、蓝兔子VPS下载指南,轻松获取,安全无忧使用!
高防服务器,游戏服务器,高防IP,服务器租用托管





