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

使用Jasypt加密Spring Boot配置遇错:指定application.yml失败

解决Jasypt加密Spring Boot application.yml的问题

问题根源

  1. 初始错误:Jasypt Maven插件默认读取application.properties,但你的项目仅使用application.yml,导致文件找不到报错。
  2. 二次错误:命令中参数的转义引号导致Maven解析异常,误将.plugin.path识别为插件前缀,引发插件找不到的错误。

解决方案

方案1:修正命令参数格式(Windows环境适配)

Windows下执行Maven命令时,无需对引号转义,直接使用以下命令即可:

mvn jasypt:encrypt -Djasypt.plugin.path=file:src/main/resources/application.yml -Djasypt.encryptor.password=你的加密密码

或保留引号但不转义:

mvn jasypt:encrypt -Djasypt.plugin.path="file:src/main/resources/application.yml" -Djasypt.encryptor.password="你的加密密码"

方案2:在pom.xml中配置插件默认路径

如果不想每次命令都指定文件路径,可在pom.xml的Jasypt插件配置中直接指定yml文件路径:

<build>
    <plugins>
        <plugin>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-maven-plugin</artifactId>
            <version>3.0.5</version>
            <configuration>
                <path>src/main/resources/application.yml</path>
                <!-- 可选:如需自定义加密算法,可添加如下配置 -->
                <!-- <encryptorAlgorithm>PBEWithMD5AndDES</encryptorAlgorithm> -->
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后,直接执行简化命令:

mvn jasypt:encrypt -Djasypt.encryptor.password=你的加密密码

补充说明

  • 确保application.yml中的明文使用插件要求的DEC(明文)格式,加密后会自动替换为ENC(密文)格式。
  • 项目启动时,需通过-Djasypt.encryptor.password=你的加密密码参数(或环境变量等方式)传入解密密钥,才能正常读取加密配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:32:12