如何为maven命令行附加VM选项

问题描述 投票:0回答:1

如何在 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 选项?

java spring maven
1个回答
6
投票

您可以将 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>
© www.soinside.com 2019 - 2024. All rights reserved.