将配置文件的应用程序分发给其他用户

问题描述:

假设我有一个开源命令行Java应用程序,它通过SSH连接到服务器。服务器地址,用户名和密码可配置并存储在属性文件中,以便用户可指定其自己的目标服务器。显然这种配置没有默认值。将配置文件的应用程序分发给其他用户

这是我个人的配置:

server=example.com:22 
username=exampleUser 
password=examplePassword 

什么是处理的最佳方式这样的性质分发我的应用程序给其他用户时文件?

我是否将我的应用程序与一个空属性文件捆绑在一起,并提示用户在运行应用程序之前进行编辑?

server= 
username= 
password= 

我是否在应用程序手册中告诉用户必须存在具有特定名称和特定条目的属性文件?

我是否要求用户在第一次应用程序运行时提供配置,并让应用程序将此配置写入磁盘?

我觉得我的建议有很多缺点,我想知道这个问题的最佳实践。这个问题不是Java特定的,我很感兴趣的是如何用其他语言或框架解决这个问题。

你应该提供命令行开关输入信息,并记录他们,是这样的:

$ java -jar yourprogram.jar -u <username> -p <passwd> ssh://someserver 

这些选项应该被记录在案,并且应该有一个--help开关来显示基本的文档。该文档还应声明,如果您将它们存储在属性文件中,则可以省略这些参数,就像您提议的那样。有关如何执行此操作的很好示例,您可以查看像git这样的程序,该程序可能比您要完成的程序要丰富得多,但它是命令行实用程序的最佳实践的一个很好的示例。