配布するjarに含めたプロパティファイルがあります。jar 内にファイルを含めることを決定する前に、次のようにロードしていました
properties.load(new FileInputStream(configFileName));
しかし、ファイルがjar内に配置されると、これは機能しなくなったため、コードを次のように変更しました
properties.load(MyClass.class.getResourceAsStream(configFileName));
唯一の問題は、プロパティを使用する単体テストがあることです (静的に読み込まれるため、モックできません)。単体テストは jar が作成される前に実行されるため、現在はすべて失敗しています。プログラムが jar として実行される場合にのみ、jar に含まれるファイルを処理するエレガントな方法はありますか?