问题描述
在我们的项目中,我们使用Lightbend Config / TypesafeConfig。
我可以使用java -jar
运行程序。我的程序的配置也可以通过使用命令行参数来完成。
示例:
java -jar simpleclient.jar -Dservice.url="http://localhost:8123"
现在,我介绍了https://picocli.info/,以便为我的应用程序提供更好的命令行处理。
我现在面临的问题是,picocli不允许在标准配置中使用-D ...参数。
如何更改?
解决方法
当您说“ picocli不允许使用-D ...选项”时,我想您的意思是希望允许最终用户使用lock
语法设置系统属性。将此类参数传递给应用程序时,应用程序需要使用这些值来设置系统属性,如下所示。
首先,用户可以通过将-Dkey=value
参数传递给-Dkey=value
进程而不是传递给jar中的主类来设置系统属性。在下面的调用中,系统属性是直接设置的,不会作为参数传递给应用程序:
java
第二,您可以在应用程序中定义一个java -Dservice.url="http://localhost:8123" -jar simpleclient.jar
选项来设置系统属性:
-D