2016-04-15 124 views
0

假設我有一個開源命令行Java應用程序,它通過SSH連接到服務器。服務器地址,用戶名和密碼可配置並存儲在屬性文件中,以便用戶可指定其自己的目標服務器。顯然這種配置沒有默認值。將配置文件的應用程序分發給其他用戶

這是我個人的配置:

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

什麼是處理的最佳方式這樣的性質分發我的應用程序給其他用戶時文件?

我是否將我的應用程序與一個空屬性文件捆綁在一起,並提示用戶在運行應用程序之前進行編輯?

server= 
username= 
password= 

我是否在應用程序手冊中告訴用戶必須存在具有特定名稱和特定條目的屬性文件?

我是否要求用戶在第一次應用程序運行時提供配置,並讓應用程序將此配置寫入磁盤?

我覺得我的建議有很多缺點,我想知道這個問題的最佳實踐。這個問題不是Java特定的,我很感興趣的是如何用其他語言或框架解決這個問題。

回答

1

你應該提供命令行開關輸入信息,並記錄他們,是這樣的:

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

這些選項應該被記錄在案,並且應該有一個--help開關來顯示基本的文檔。該文檔還應聲明,如果您將它們存儲在屬性文件中,則可以省略這些參數,就像您提議的那樣。有關如何執行此操作的很好示例,您可以查看像git這樣的程序,該程序可能比您要完成的程序要豐富得多,但它是命令行實用程序的最佳實踐的一個很好的示例。

相關問題