You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot项目Maven参数-Djasypt.encryptor.password不生效问题咨询

问题原因

直接在mvn命令后附加的-Djasypt.encryptor.password=foo参数是传递给Maven自身进程的,不会自动透传到spring-boot:run启动的Spring Boot应用子进程,因此应用读取不到加密密钥导致启动失败。

解决方案

根据你使用的Spring Boot Maven插件版本,选择对应命令即可:

  • 方案1(适用于2.x及以上版本Spring Boot Maven插件,最常用):通过spring-boot.run.jvmArguments参数透传JVM属性
    执行命令:
    mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Djasypt.encryptor.password=foo"
    
    如果需要传递多个JVM参数,统一放在双引号内空格分隔即可。
  • 方案2(适用于1.x版本Spring Boot Maven插件):通过旧版参数run.jvmArguments透传
    执行命令:
    mvn spring-boot:run -Drun.jvmArguments="-Djasypt.encryptor.password=foo"
    
  • 方案3:以Spring Boot启动参数形式传递
    执行命令:
    mvn spring-boot:run -Dspring-boot.run.arguments="--jasypt.encryptor.password=foo"
    

注意:使用命令行传递参数时,请确保application.properties文件中没有配置jasypt.encryptor.password属性,否则配置文件的优先级更高会覆盖命令行传入的值。

内容的提问来源于stack exchange,提问作者vanR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:24:02