Springboot启动命令--/-D傻傻分不清楚

1.背景:
在启动springboot项目的时候(java -jar xxx.jar) 发现连接不上nacos, 查看日志,nacos报错403(认证失败),但是启动命令命名指定了正确的ak/sk

2.报错分析
2.1 知识点:
java -jar xxx.jar -Dserver.port=9099, 可以正常在8080端口启动项目
java -jar xxx.jar --server.port=9099, 可以正常在9090端口启动项目
java --server.port=9099 -jar xxx.jar 项目启动失败(Unrecognized option: --server.port=9099)
java -Dserver.port=9099 -jar xxx.jar 可以正常在9090端口启动项目

2.2 解决
将spring.cloud.nacos.discovery.accessKey以 – 的方式放在 xxx.jar后面 或者 以 -D的方式放在 -jar xxx.jar的前面

### Java 应用程序命令行参数解析 #### JMX 配置 当 `spring.jmx.enabled` 设置为 `true` 时,Spring Boot 将自动配置并启用 JMX 支持[^1]。这允许应用程序中的管理 Bean 被暴露到指定的 JMX 域中。 对于远程监控的支持可以通过设置 `com.sun.management.jmxremote` 参数来实现。此参数通常用于开启 JVM 的远程 JMX 连接功能,使得外部工具可以连接至应用进程进行性能监视和其他操作。 #### 控制台输出样式 关于 `spring.output.ansi.enabled` 属性,它控制着 Spring Boot 日志记录器是否应该使用 ANSI 字符序列来增强终端上的颜色编码输出效果。该选项接受几个不同的值以适应不同环境下的需求: - `NEVER`: 不会尝试打印带有色彩的日志消息; - `DETECT`: 自动检测当前运行环境中是否支持彩色显示; - `ALWAYS`: 总是启用ANSI字符集渲染日志信息; #### 开发者调试辅助特性 属性 `spring.liveBeansView.mbeanDomain` 和 `spring.application.admin.enabled` 主要服务于开发者在开发阶段更方便地管理和诊断其应用程序的状态。前者定义了一个 MBean 域名空间,在其中注册了表示活动对象视图的服务实例;后者则启用了针对整个应用程序上下文生命周期事件的通知机制。 至于 `management.endpoints` 相关的内容,则涉及到了 Actuator 组件所提供的 HTTP 或 JMX 接口端点的功能定制化设定。这些接口提供了丰富的健康检查、度量指标收集等功能,有助于运维人员更好地理解和维护生产系统的稳定性和效率。 ```bash java \ -DXX:TieredStopAtLevel=1 \ -Dcom.sun.management.jmxremote \ -Dspring.jmx.enabled=true \ -Dspring.output.ansi.enabled=ALWAYS \ -Dspring.liveBeansView.mbeanDomain=myApp \ -Dspring.application.admin.enabled=true \ -jar myapp.jar ``` 上述脚本展示了如何通过 `-D` 标记传递多个系统属性给 Java VM 来启动一个基于 Spring Boot 构建的应用程序,并设置了相应的配置项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值