2016-04-15 14 views
0

私は、SSH経由でサーバに接続するオープンソースのコマンドラインJavaアプリケーションを持っているとします。サーバー名、ユーザー名、およびパスワードは、ユーザーが独自のターゲット・サーバーを指定できるように、構成可能でプロパティー・ファイルに保管されています。明らかに、この種の設定にはデフォルト値はありません。他のユーザーに自分のアプリケーションを配布する場合、そのようなプロパティファイルを処理するための最良の方法は何設定ファイルを含むアプリケーションを他のユーザに配布する

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のようなプログラムを見ることができます。これはおそらく達成しようとしているものよりも豊富ですが、コマンドラインユーティリティのベストプラクティスの良い例です。

関連する問題