如何查看 Java JAR 文件支持的启动参数

学习笔记作者:admin日期:2025-09-15点击:3

摘要:本文介绍了如何通过命令行、配置文件和反编译等方式,查看一个 Java JAR 文件(如 bi-host.jar)支持的启动参数。重点包括帮助信息、配置文件分析、JVM 参数以及 Spring Boot 特有的参数。

一、JAR 启动命令的结构分析

      你当前的命令是:

java -Dfile.encoding=UTF-8 -Dloader.path=./bin/lib -jar ./bin/bi-host.jar --server.port=8081

      这个命令可以分为三类参数:

类型 示例 说明
JVM 参数(以 `-D` 开头) -Dfile.encoding=UTF-8, -Dloader.path=./bin/lib 设置 JVM 系统属性
Java/JAR 启动指令 -jar ./bin/bi-host.jar 指定运行的主 JAR 文件
应用参数(传给 main 方法的参数) --server.port=8081 Spring Boot 风格的配置参数

二、如何查看还有哪些可用参数?

方法 1:查看帮助文档(最直接)

      大多数 Spring Boot 打包的 JAR 都支持以下帮助参数:

java -jar bi-host.jar --help

      或者:

java -jar bi-host.jar -h

      或者:

java -jar bi-host.jar help

      这可能会输出所有支持的命令行参数。

方法 2:查看配置文件(application.yml / application.properties)

      Spring Boot 应用通常使用 `application.yml` 或 `application.properties` 文件定义默认配置。

      你可以解压 JAR 包查看:

unzip -l bi-host.jar | grep application

      然后提取并查看:

unzip bi-host.jar 'BOOT-INF/classes/application*' -d temp/
cat temp/BOOT-INF/classes/application.yml

      在里面可以找到类似:

server:
  port: 8080
spring:
  datasource:
    url: ...

      这些都可以通过命令行覆盖,比如:

--server.port=8081
--spring.datasource.url=jdbc:mysql://...

方法 3:查看源码或文档(如果有)

      如果你有项目文档、README 或源码,通常会列出支持的启动参数。

      特别是 `--server.port` 这种是 Spring Boot 内置的,常见参数包括:

参数 说明
--server.port=8081 设置服务端口
--spring.profiles.active=prod 激活某个环境配置
--logging.level.root=DEBUG 设置日志级别
--spring.config.location=... 指定外部配置文件路径
--spring.application.name=myapp 设置应用名(用于注册中心等)

方法 4:使用 `--debug` 启动,查看自动配置报告

java -jar bi-host.jar --debug

      Spring Boot 会输出自动配置的启用/禁用情况,间接反映支持的参数。

方法 5:反编译或查看 Main 类(高级)

      如果完全没文档,可以反编译查看入口类:

# 查看主类
unzip -p bi-host.jar META-INF/MANIFEST.MF

      找到 `Main-Class`,比如可能是:

Main-Class: org.springframework.boot.loader.JarLauncher

      实际的应用主类可能在 `Start-Class`(Spring Boot 特有):

Start-Class: com.example.BiHostApplication

      然后你可以用反编译工具(如 JD-GUI)打开 JAR,查看 `BiHostApplication.java` 的 `main` 方法和 `@ConfigurationProperties` 类,找出所有可配置项。

方法 6:查看 JVM 系统属性 `-D` 支持的参数

      你用了:

-Dfile.encoding=UTF-8
-Dloader.path=./bin/lib

      其中:

  • `file.encoding`: 设置字符编码(推荐 UTF-8)
  • `loader.path`: 是 Spring Boot `JarLauncher` 特有的,用于指定外部依赖 JAR 的路径(比如插件、额外 lib)

      其他常见的 `-D` 参数:

`-D` 参数 作用
-Dspring.config.location= 外部配置文件路径
-Dlogging.config= 外部日志配置文件(logback.xml)
-Djava.io.tmpdir=/tmp 设置临时目录
-Duser.timezone=GMT+8 设置时区

三、常见可传入的参数总结(Spring Boot 类应用)

类型 参数示例 说明
服务端口 --server.port=8081 改变启动端口
激活环境 --spring.profiles.active=dev 使用 dev 配置
外部配置 --spring.config.location=./config/application.yml 指定配置文件
日志级别 --logging.level.com.example=DEBUG 调整包的日志输出
JVM 内存 -Xms512m -Xmx2g 设置堆内存
字符编码 -Dfile.encoding=UTF-8 防止乱码
时区 -Duser.timezone=Asia/Shanghai 避免时间错误
外部依赖 -Dloader.path=./lib 加载外部 jar

四、建议操作顺序

  1. 运行 java -jar bi-host.jar --help 看是否有帮助信息
  2. 解压 JAR,查看 application.yml.properties
  3. 搜索项目文档或联系开发者
  4. 使用 --spring.profiles.active= 切换环境
  5. 通过 --debug 查看启动细节

      如果你愿意,可以把 unzip -p bi-host.jar META-INF/MANIFEST.MF 的输出贴出来,我可以帮你分析主类和可能的参数。

上一篇      下一篇