如何在 Maven 命令行中添加定义为 VM 选项的参数。 在 Intellij 中我有配置
java 11 -Djasypt.encryptor.password=xxx
当我在配置类中使用 @Value 注释读取 VM 选项时,该解决方案非常有效。
@Value("${jasypt.encryptor.password}")
private String jasyptEncryptorPassword;
我正在使用以下命令 mvn -Djasypt.encryptor.password=xx spring-boot:run 但无法获取并出现以下错误。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jasyptConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jasypt.encryptor.password' in value "${jasypt.encryptor.password}"
仅对于命令 java -jar 可以附加 VM 选项?
您可以将 VM 选项附加到 Spring Boot 插件,如下所示:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Djasypt.encryptor.password=xxx"
在此处检查插件的文档:spring-boot-maven-plugin 文档
另一种选择是将其设置在
pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>
-Djasypt.encryptor.password=xxx
</jvmArguments>
</configuration>
</plugin>