如何避免Maven Mojo在debug模式下输出配置参数中的敏感信息
方案1:针对单个敏感参数屏蔽(推荐)
Maven 3.1及以上版本原生支持@Parameter注解的sensitive属性,只要将敏感参数的该属性设为true,debug模式下就不会输出该参数的实际值。
你只需要修改对应参数的注解配置即可,修改后的代码示例如下:
@Parameter(property = "password", required = false, sensitive = true) String password; @Parameter(property = "user", required = false, sensitive = true) String user;
配置后debug日志中对应参数会显示为(f) password = ***,不会泄露真实取值。
方案2:完全关闭所有Mojo配置参数的调试输出
如果你不需要输出任何Mojo配置的debug日志,可以通过调整Maven日志级别实现:
- 临时生效(单次运行时生效):执行Maven命令时额外添加日志配置参数:
mvn <你的原有命令> -X -Dorg.slf4j.simpleLogger.log.org.apache.maven.plugin.internal.DefaultMojoConfiguration=info - 永久生效:修改Maven安装目录下的
conf/logging/simplelogger.properties文件,添加如下配置:org.slf4j.simpleLogger.log.org.apache.maven.plugin.internal.DefaultMojoConfiguration=info
调整后Maven的debug日志中不会再打印任何Mojo的配置参数列表。
内容的提问来源于stack exchange,提问作者Frank Winkler
相关产品推荐
相关产品推荐

