我有一个由maven处理的Springboot项目,它包含一些用Jasypt加密的秘密。当我运行mvn deploy时,我将jasypt密码传递为:
mvn -B clean deploy -Djasypt.encryptor.password=${jasypt_password}它能够运行测试用例并将jar文件部署到存储库中。但是,当我对mvn release做同样的操作时,jasypt密码没有被正确设置。
mvn -B clean release:prepare release:perform -Djasypt.encryptor.password=${jasypt_password}或
mvn -B release:prepare -Djasypt.encryptor.password=${jasypt_password}对于这两种情况,我在运行测试用例时都会得到以下错误。
原因: java.lang.IllegalStateException:必需加密配置属性缺失: jasypt.encryptor.password
我使用的插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<localCheckout>true</localCheckout>
</configuration>
</plugin>在运行maven发行版时,我应该如何设置jasypt密码?
发布于 2019-05-08 09:15:28
我用以下命令解决了这个问题。显然,maven发布插件以不同的方式接受配置参数。
mvn -B clean release:prepare release:perform -Darguments="-Djasypt.encryptor.password=${jasypt_password}"发布于 2019-05-08 09:15:19
您可以查看此链接,它提供了有关这个问题的更多细节。
它基本上是说
启用jasypt boot之后,按照文档中的指定,密码属性是必需的。
他们提出了多种解决方案。其中之一是:
将jasypt.encryptor.password=dummy添加到springboot属性文件中。
另一个(如果从命令行运行),使用
-Djasypt.encryptor.password=*******************
发布于 2022-01-20 08:03:47
如果你在使用Intellij,

使用-Djasypt.encryptor.password=${jasypt_password}作为项目参数应该可以解决您的问题。
如果没有帮助,那就试试--jasypt.encryptor.password=${jasypt_password}。
如果这有帮助的话请告诉我。
谢谢,
Manu
https://stackoverflow.com/questions/56035132
复制相似问题