バージョン管理ツールにファイルとして保存されたスクリプトとデータベースにロードされたスクリプトを比較する Java プログラムを作成しました。これは単純なプログラムで、最初から最後まで実行され、不一致が見つかるとコンソールに出力されます。ここで、データベースの URL、ユーザー名、パスワード、およびファイルの場所を .properties ファイルから読み込みたいと考えています。
ファイルをクラスパスに配置すると、Java プログラムから表示されると想定しました。
Properties values = new Properties();
try
{
File checkPackages = new File("myfile.properties");
if(!checkPackages.exists()) throw new FileNotFoundException();
values.load(new FileReader(checkPackages));
}
catch(FileNotFoundException fnfe) {}
また、このプログラム全体を .jar ファイルに保存して、もう少し使いやすくしたいと思いました。残念ながら、.properties ファイルを参照する唯一の方法は、java.exe を実行しているディレクトリにファイルを配置することです。PATH または CLASSPATH が適用されないようです??
そこに答えがあることを望んでいたので、.jar ファイルのマニフェスト ファイルに関する Oracle サイトを見つけましたが、マニフェストの Class-path: 要素は、.jar に含まれていない .jar ファイルのみを参照しているようです ( .properties ファイルではありません!) 質問: .properties ファイルを .jar ファイルにラップして、ユーザーがそこにあることを知る必要がないようにする方法はありますか? Oracle ドライバー .jar をアプリの .jar にラップして、ユーザーがそこにあることを知る必要がないようにする方法はありますか (Oracle は、これには「カスタム コード」が必要だと言っています)。
ティア