假设我有一个开源命令行Java应用程序,它通过SSH连接到服务器。服务器地址,用户名和密码是可配置的,并存储在属性文件中,以便用户可以指定自己的目标服务器。显然,这种配置没有默认值。
这是我的个人配置:
server=example.com:22
username=exampleUser
password=examplePassword
将应用程序分发给其他用户时,处理此类属性文件的最佳方法是什么?
我是否将应用程序与空属性文件捆绑在一起,并提示用户在运行应用程序之前对其进行编辑?
server=
username=
password=
我是否在应用程序手册中告诉用户必须存在具有特定名称和特定条目的属性文件?
我是否要求用户在第一次运行应用程序时提供配置,并让应用程序将此配置写入磁盘?
我觉得我的建议有很多缺点,我想知道这个问题的最佳做法。问题不是特定于Java的,我感兴趣的是如何用其他语言或框架解决这个问题。
答案 0 :(得分:1)
您应该提供命令行开关来输入信息,并记录它们,例如:
$ java -jar yourprogram.jar -u <username> -p <passwd> ssh://someserver
应该记录这些选项,并且应该有一个--help开关来显示基本文档。文档还应声明,如果将它们存储在您提议的属性文件中,则可以省略这些参数。有关如何执行此操作的好示例,您可以查看git
之类的程序,它可能比您要完成的程序更丰富,但它是命令行实用程序的最佳实践的一个很好的示例。 / p>