1. 首页 > 电脑知识

Linux运行发布jar文件携带哪些参数 linux运行jar包命令

作者:admin 更新时间:2025-06-17
摘要:在 CentOS 8 上运行发布的 JAR 文件时,可以根据不同需求携带以下参数: 1. 基本运行方式 bash 复制 下载 java -jar your-application.jar 2. 常用 JVM 参数 参数 说明 -Xms256m 初始堆内存大小(如256MB) -Xmx1024m 最大堆内存大小(如1GB) -XX:MaxMetaspaceSize=256m,Linux运行发布jar文件携带哪些参数 linux运行jar包命令

 

在 CentOS 8 上运行发布的 JAR 文件时,可以根据不同需求携带 下面内容参数:


1. 基本运行方式

bash

下载

java -jar your-application.jar

2. 常用 JVM 参数

参数 说明
-Xms256m 初始堆内存 大致(如 256MB)
-Xmx1024m 最大堆内存 大致(如 1GB)
-XX:MaxMetaspaceSize=256m 元空间内存上限
-XX:+UseG1GC 启用 G1 垃圾回收器(推荐 JDK 8+)
-XX:+HeapDumpOnOutOfMemoryError OOM 时生成堆转储文件
-XX:HeapDumpPath=/path/to/dump.hprof 指定堆转储文件路径

示例:

bash

下载

java -Xms512m -Xmx2048m -XX:+UseG1GC -jar your-application.jar

3. 应用配置参数

3.1 指定 Spring Boot Profile

bash

下载

java -jar your-application.jar --spring.profiles.active=prod
3.2 覆盖配置文件属性

bash

下载

java -jar your-application.jar --server.port=8081 --spring.datasource.url=jdbc:mysql://localhost:3306/db

4. 日志与输出控制

参数 说明
-Dlogging.file=/var/log/app.log 指定日志文件路径
-Dlogging.level.root=INFO 设置日志级别
> /dev/null 2>&1 & 后台运行并丢弃输出
nohup java -jar app.jar & 退出终端后继续运行

示例:

bash

下载

nohup java -jar your-application.jar --spring.profiles.active=prod > /var/log/app.log 2>&1 &

5. 安全相关参数

参数 说明
-Djava.security.egd=file:/dev/./urandom 加速随机数生成(避免熵池阻塞)
-Duser.timezone=GMT+8 设置时区(如 Asia/Shanghai)

6. 调试参数(开发环境)

bash

下载

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-application.jar

通过端口 5005 远程调试。


7. 完整示例

生产环境启动命令:

bash

下载

nohup java -Xms512m -Xmx2048m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dlogging.file=/var/log/app.log -jar /opt/your-application.jar --spring.profiles.active=prod --server.port=8080 > /dev/null 2>&1 &

8. 注意事项

内存分配:-Xmx 不应超过 体系可用内存的 70%。

后台运行:建议使用 systemd 托管服务(见下方补充)。

权限 难题:确保用户对 JAR 文件和日志目录有读写权限。


补充:使用 systemd 托管服务

创建服务文件 /etc/systemd/system/yourapp.service:

ini

下载

[Unit] Description=Your Java Application After=syslog.target network.target [Service] User=appuser WorkingDirectory=/opt ExecStart=/usr/bin/java -jar /opt/your-application.jar --spring.profiles.active=prod Restart=always [Install] WantedBy=multi-user.target

管理命令:

bash

下载

sudo systemctl daemon-reload sudo systemctl start yourapp sudo systemctl enable yourapp

nohup java -Xms512m -Xmx2048m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dlogging.file=/var/log/yipong-server.log -jar /home/service/yipong-server.jar --spring.profiles.active=prod --server.port=48080 > /dev/null 2>&1 &