缺少必需的加密配置属性:jasypt.encryptor.password

问题描述

嗨,我正在尝试为我的项目生成Jar文件,我正在使用Jasypt加密我的jwtsecret。但是每当我尝试在eclipse中做 clean package 作为生成我的jar文件的目标时,都会出现此错误,其产生原因:java.lang.IllegalStateException:必需的加密缺少配置属性:jasypt.encryptor.password

这是我尝试过的命令-

 mvn clean install -U dependency:copy-dependencies -Darguments="-Djasypt.encryptor.password=${tokensecretkey}"

与其他一些我用来进行试玩和打击的人一起。有人可以帮我吗?

解决方法

以下命令在使用Jasypt时生成Jar文件:

Map<String,Consumer<Scanner>> commands = new HashMap<>();
...
commands.put("foo",someCommand::go); // where someCommand is a variable with a go(Scanner) method
commands.put("bar",new OtherCommand());
commands.put("hello",unused -> { System.out.println("Hello!"); });
...
String commandName = scanner.next();
commands.get(commandName).accept(scanner);

然后使用下面的命令来运行生成的Jar文件:

mvn -B clean package -Djasypt.encryptor.password=<secret key>