基本的にMySQLデータベースへのインターフェースであるJavaアプリケーションを作成しました。データの整理と追跡に役立ちます。職場で問題なく使用しています。Eclipseからjarファイルとしてエクスポートし、このjarファイルのコピーを全員に渡しました。
今、私たちはこのソフトウェアを他の職場で利用できるようにしたいと思っています。問題は、データベースのURL、ユーザー名、およびパスワードがアプリケーションにハードコーディングされていることです。誰かがそれをダウンロードしたときに、MySQLをダウンロードして、選択した場所にデータベースをセットアップするウィザードを実行できるように、セットアッププロセスを作成したいと思います。その後、全員が同じデータベースにアクセスするため、セットアップを行わなくても、jarファイルを職場の全員に配布できます。
このプロセスでは、データベースのURL、ユーザー名、およびパスワードを何らかの方法で保存して、職場の人々がどのコンピューターからでもjarを実行できるようにする必要があります。これは私にそれらがjarの中に保存されるべきであると私に思わせます...私が必要とするプロパティファイルですか?プロパティファイルをjar内に配置して、セットアッププロセス中に編集できるようにすることはできますか?
どんなガイダンスでも大歓迎です、私はこれに非常に新しいです!
================================================== ================================
編集:私が今やろうとしていることは、ユーザーにMySQLをインストールさせ、自分でデータベースをセットアップさせることだと思います。以下の回答が示唆しているように、この自動化を使用すると、さまざまなプラットフォーム、データベースのセットアップの設定、セキュリティ上の懸念などに対処する必要があるため、この自動化は価値があるよりも厄介になる可能性があります。これを実行すると、ダウンロードするだけです。 jarファイル。
jarファイルにプロパティファイルを追加して、データベースのURL、ユーザー名、およびパスワードを保存しました。このファイルは最初は空であるため、ユーザーが初めてjarを実行すると、プログラムはプロパティファイルへのアクセスを試み、ファイルが空であることを確認して、ユーザーにこの情報の入力を求めます。次に、jarからプロパティファイルを抽出し、それらの情報を編集して、プロパティファイルをjarに貼り付けます。次に、その人は更新されたjarを同僚に配布でき、その情報を提供しなくても全員が開くことができるはずです。この部分はほとんど機能しています。また、同じメソッドを呼び出すことで、プログラムを「再構成」する機能を追加します(ユーザーがデータベースを移動した場合に備えて)(プログラムの新しいバージョンを再度配布する必要があります)。
次に、プロパティファイルを暗号化するか、コードを難読化してセキュリティで保護してみたいと思います(ただし、テキストファイルではなく、クラスファイルでのみ機能すると思います...?)。私の懸念は、職場の誰もがそれを解凍してプロパティファイルを開き、URL、ユーザー名、およびパスワードを使用して自分でデータベースにアクセスし、損傷を引き起こす可能性があることです。理想的には、プログラム自体を除いて、誰もそれを解凍することはできません。
誰かが私の方法について他の懸念がある場合は、私に知らせてください!